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. v2.1.0-88-g840cf0d


From: Andy Wingo
Subject: [Guile-commits] GNU Guile branch, master, updated. v2.1.0-88-g840cf0d
Date: Thu, 29 Sep 2011 16:07:10 +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=840cf0d1e2bb3b019210958056404f29347042fe

The branch, master has been updated
       via  840cf0d1e2bb3b019210958056404f29347042fe (commit)
       via  ca128245811fab5abcf02756cd7a322a3a40d192 (commit)
       via  014de9e25d87b7d3a13566aee4c271c1a11ea0b7 (commit)
       via  b275fb2691af150cc57e395e65df5a66e315017e (commit)
       via  df40b969780df2979f9f5e1c9ae8b9d6f09dbd9a (commit)
       via  0353a2d817d0d5b3c563af4fa1b5c7c1fe7ce3a6 (commit)
       via  40be30c97459e1baf8a9997c1c116a67f153cfef (commit)
       via  fc283c92cbdb31942f033541b52376fd1bade3f2 (commit)
       via  b5ae223d129b427e2b5695c82c45f16995f36236 (commit)
       via  1cc1c2d7e33bc40ac23e05636e69434d80e90af1 (commit)
       via  6c4ffe2b2560eaeb0fe5aedb266183e3bb80dbd8 (commit)
       via  ea726a53b2180ee4548723f81d9b1be7732ef5d8 (commit)
       via  fbc9387f68be677663e6756c35afa973a9dc0a1a (commit)
       via  58b5a2d4e10d2afb34dfcb086d2550e936800b3f (commit)
       via  7a1e193710ff3efa63ddd665a627c682ccec5ce6 (commit)
       via  7af1ba2f6c4d4bcd4fbf0214384551f9b8208d4a (commit)
       via  153ca1d2391115f1428837b9465bce89c76691de (commit)
       via  05c9389e3f869f3158d97289f50a52dc2b3caa26 (commit)
       via  ef6c0883c3467b0b4b3c3e3cfb94f2b80422d875 (commit)
       via  02ebea537fa805c615df44c4228db6a44d74c4b3 (commit)
       via  cf82943f9f075248d803b31e19ddb8e933ad35ba (commit)
       via  b839233282686301a5ba762b2dda890b3659ce4d (commit)
       via  fab137869e67d2f1d76764aa8b2855c88ae95379 (commit)
       via  062bf3aa443c33a2f07fe929aba03fcd44d959b1 (commit)
       via  8018dfdc023fe3136e96550c9d0dcd1712759917 (commit)
       via  ded8ad84a781ec792c0796e82568854c5d63ea65 (commit)
       via  f6123e4fda470a634b6cf0510d0312d162973e75 (commit)
       via  e43921a982fe207c99695c6eb01abffb0c9a559b (commit)
       via  b8a2b628e9c663ff58d442a895c4d20541d54b1f (commit)
       via  1eb4886ffa9c4c81c946af7fed8fb39020fcde12 (commit)
       via  8d06538e821c3e6cdd4861e1d8b1ec25ed930453 (commit)
       via  e535a37db891323708d375ad9c9c6f2b407261f1 (commit)
       via  8f6dfb9ad226eb1b017cc08fda8b03350c9a209a (commit)
       via  250991010f08d6a9e16dabad32941c948a8b4ba4 (commit)
       via  9e8a5b6637c71b909a0c3ca42e6756d0b2177a05 (commit)
       via  dd7ab5d8a44a34112b3992a711db2851f503ce00 (commit)
       via  c829531a4652b2cf4d4aac1eb0af08c3231bdecf (commit)
       via  a4c7fe5cde907f3bc4cbc5190bfc7e748d6bac45 (commit)
       via  ec6e09bee7bd85862dbbea8fdefb295b7cc5205f (commit)
       via  d851e32fdc3d14804108f0389faa75a57599ced4 (commit)
       via  40bd6a7e57a779d249f901f710d7368bf26550bb (commit)
       via  9581febbb004b24843630adcefb72810624d0300 (commit)
       via  2605b6ba2749a90c55a7f49bb91d6f20f256a20e (commit)
       via  ddbee5c00f438c4dc1dbe2b944b559a3c2de0e6b (commit)
       via  5d5e4f399a38e530a5f0081d6fdec80d3eb4736a (commit)
       via  4f33b47591e823500d800ee4f9d98c8ae98ceab8 (commit)
       via  65a32655253cdfcf4e2caf03a73ac66b05da5f71 (commit)
       via  03026d0fb888c4d19b87a995c641cb3e93afd973 (commit)
       via  d111abd0f6d06308b172cc1fa964eb11ccf5d94a (commit)
       via  0c448ef47b752683855753ece53bef52733aee0b (commit)
       via  78295f242adc2e308eba69839a8812da6cc1e02e (commit)
       via  ccb771575a9fc03eab034bef4c77917486bbf8c7 (commit)
       via  72b2ca55f6e115927aa4e76401c992f21198681f (commit)
       via  239b4b2ac6fda615e117193076df0b6b2bccb5d7 (commit)
       via  1e2b4920cac71e6750673a84642db97c404092a7 (commit)
       via  2b0b09fed4e446712dde60781ed09a6100e833f3 (commit)
       via  2ae0775e405de414e2da4806588b674c07793b8e (commit)
       via  3f2d6efc7b61999a4522b1c35d6f4a875a2c74c0 (commit)
       via  af1c6e424ffb7f37391fc62d788591adc40381e1 (commit)
       via  735249513a0a2966f6570ee32cd2988b3bc6524d (commit)
       via  61237fa4b96d020e96388cca4fd065ddf43bca60 (commit)
       via  1e8ace33d17a3156c184e8121eb291a7c9324ccc (commit)
       via  870dfc609b0bf090d38878d7224e65843c355485 (commit)
       via  89436781e8758ee4df98f5d720f3ade50c2439fa (commit)
       via  d5f76917820a00ea94f9904c3fd1dcef1c37bd95 (commit)
       via  fe1336405062c69ff08fd7ad0d98c3f2aca7766f (commit)
       via  cb7bcfca3520a147881e4b7f052b68b88a740bf1 (commit)
       via  86b4309b7166fe5ec4f55f0cc64501d07b0852f9 (commit)
       via  a8d7fba8d45220e4d12c57f5aa85bfade9d21100 (commit)
       via  73df2c37424e89956df6c0e9a7d777b477423a93 (commit)
       via  cf14f3011bdb32c303ec1937a245269c100abe95 (commit)
       via  c8286111e0d149adc30687a27e5f52c9c064291a (commit)
       via  f9c1b8278dbf1992d83f91f91391ee39e714d364 (commit)
       via  11671bbacbdd52039c77978bfe7f24a3316f6019 (commit)
       via  16a3b316113b4000a39b92ddfe4c3edc16954d52 (commit)
       via  91db4a375cb9adc8f3a47f0355c3e6566b9acebf (commit)
       via  8568067836a7f127b18833a00d6bfc0509fa31ef (commit)
       via  5fcb7b3cc58464b8895b09d0927e9364c079fe41 (commit)
       via  d9241a37e8184ac18e5836ff739212139aca91e3 (commit)
       via  5f237d6e0e5d16b131c739c8daed3de9b162ec96 (commit)
       via  df08fc359c87a2c802ab82c4c70db7bda9baaa52 (commit)
       via  eddd81f4652db72a085f7c8dfe2ca04b7c4de829 (commit)
       via  cd4171d012f0ef2291274b5a9b26854c0223921b (commit)
       via  0c65f52c6d45f60e197fad7162d05c0fce89e817 (commit)
       via  1bbe0a631c4e72fffc033cb4f83eba7252ce3c9c (commit)
       via  dea14eb99bfb70f970db24f72340dfc9b98e0640 (commit)
      from  25f4a88032f51cecdf8b0147c8a2d0a4574972fa (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 840cf0d1e2bb3b019210958056404f29347042fe
Author: Andy Wingo <address@hidden>
Date:   Thu Sep 29 18:07:02 2011 +0200

    regenerate psyntax-pp.scm
    
    * module/ice-9/psyntax-pp.scm: Regenerate.

commit ca128245811fab5abcf02756cd7a322a3a40d192
Merge: 25f4a88 014de9e
Author: Andy Wingo <address@hidden>
Date:   Thu Sep 29 18:02:28 2011 +0200

    Merge remote-tracking branch 'origin/stable-2.0'
    
    This was a pretty big merge involving a fair amount of porting,
    especially to peval and its tests.  I did not update psyntax-pp.scm,
    that comes in the next commit.
    
    Conflicts:
        module/ice-9/boot-9.scm
        module/ice-9/psyntax-pp.scm
        module/language/ecmascript/compile-tree-il.scm
        module/language/tree-il.scm
        module/language/tree-il/analyze.scm
        module/language/tree-il/inline.scm
        test-suite/tests/tree-il.test

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

Summary of changes:
 doc/ref/api-compound.texi                         |    2 +-
 doc/ref/api-macros.texi                           |   27 +-
 doc/ref/api-modules.texi                          |   62 +-
 doc/ref/guile-invoke.texi                         |    6 +
 doc/ref/guile.texi                                |    9 +-
 doc/ref/match.texi                                |   52 +-
 libguile/numbers.c                                |   14 +-
 libguile/snarf.h                                  |    2 +-
 libguile/strings.c                                |    8 +-
 module/Makefile.am                                |    6 +-
 module/ice-9/boot-9.scm                           |  132 +-
 module/ice-9/command-line.scm                     |   10 +-
 module/ice-9/compile-psyntax.scm                  |   12 +-
 module/ice-9/control.scm                          |   22 +-
 module/ice-9/futures.scm                          |    8 +-
 module/ice-9/match.scm                            |   43 +-
 module/ice-9/match.upstream.scm                   |  307 +-
 module/ice-9/optargs.scm                          |   12 +-
 module/ice-9/poll.scm                             |    7 +-
 module/ice-9/psyntax-pp.scm                       |35397 +++++++++++----------
 module/ice-9/psyntax.scm                          |   87 +-
 module/ice-9/receive.scm                          |   14 +-
 module/ice-9/threads.scm                          |   56 +-
 module/ice-9/vlist.scm                            |   20 +-
 module/language/assembly/compile-bytecode.scm     |   18 +-
 module/language/ecmascript/compile-tree-il.scm    |   36 +-
 module/language/glil/compile-assembly.scm         |    2 +-
 module/language/tree-il.scm                       |  156 +-
 module/language/tree-il/analyze.scm               |   70 +-
 module/language/tree-il/canonicalize.scm          |   76 +
 module/language/tree-il/compile-glil.scm          |    2 +
 module/language/tree-il/inline.scm                |  186 +-
 module/language/tree-il/optimize.scm              |   17 +-
 module/language/tree-il/peval.scm                 |  922 +
 module/language/tree-il/primitives.scm            |   76 +-
 module/oop/goops.scm                              |   67 +-
 module/oop/goops/simple.scm                       |    8 +-
 module/oop/goops/stklos.scm                       |    8 +-
 module/srfi/srfi-1.scm                            |    8 +-
 module/srfi/srfi-35.scm                           |   32 +-
 module/srfi/srfi-39.scm                           |   12 +-
 module/srfi/srfi-45.scm                           |   13 +-
 module/srfi/srfi-67/compare.scm                   |  189 +-
 module/sxml/match.scm                             |   37 +-
 module/system/repl/error-handling.scm             |    6 +-
 module/system/repl/repl.scm                       |   16 +-
 module/system/vm/inspect.scm                      |   21 +-
 module/texinfo.scm                                |   20 +-
 module/web/http.scm                               |   28 +-
 module/web/server.scm                             |    8 +-
 test-suite/Makefile.am                            |    1 +
 test-suite/standalone/Makefile.am                 |    7 +
 test-suite/standalone/test-scm-to-latin1-string.c |   78 +
 test-suite/tests/gc.test                          |   14 +-
 test-suite/tests/match.test                       |  106 +-
 test-suite/tests/match.test.upstream              |  168 +
 test-suite/tests/statprof.test                    |   11 +-
 test-suite/tests/threads.test                     |   11 +-
 test-suite/tests/tree-il.test                     |  779 +-
 test-suite/tests/web-http.test                    |    3 +
 test-suite/vm/t-match.scm                         |    2 +-
 61 files changed, 22451 insertions(+), 17078 deletions(-)
 create mode 100644 module/language/tree-il/canonicalize.scm
 create mode 100644 module/language/tree-il/peval.scm
 create mode 100644 test-suite/standalone/test-scm-to-latin1-string.c
 create mode 100644 test-suite/tests/match.test.upstream

diff --git a/doc/ref/api-compound.texi b/doc/ref/api-compound.texi
index da8813b..c52fed4 100644
--- a/doc/ref/api-compound.texi
+++ b/doc/ref/api-compound.texi
@@ -3207,7 +3207,7 @@ key is typically a constant-time operation.
 
 The VHash programming interface of @code{(ice-9 vlist)} is mostly the same as
 that of association lists found in SRFI-1, with procedure names prefixed by
address@hidden instead of @code{vlist-} (@pxref{SRFI-1 Association Lists}).
address@hidden instead of @code{alist-} (@pxref{SRFI-1 Association Lists}).
 
 In addition, vhashes can be manipulated using VList operations:
 
diff --git a/doc/ref/api-macros.texi b/doc/ref/api-macros.texi
index f0eeb6e..92816ad 100644
--- a/doc/ref/api-macros.texi
+++ b/doc/ref/api-macros.texi
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2009, 
2010
address@hidden Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2009, 
2010, 2011
 @c   Free Software Foundation, Inc.
 @c See the file guile.texi for copying conditions.
 
@@ -24,9 +24,15 @@ macro must appear as the first element, like this:
 @end lisp
 
 @cindex macro expansion
address@hidden domain-specific language
address@hidden embedded domain-specific language
address@hidden DSL
address@hidden EDSL
 Macro expansion is a separate phase of evaluation, run before code is
 interpreted or compiled. A macro is a program that runs on programs, 
translating
-an embedded language into core Scheme.
+an embedded language into core address@hidden days such embedded
+languages are often referred to as @dfn{embedded domain-specific
+languages}, or EDSLs.}.
 
 @menu
 * Defining Macros::             Binding macros, globally and locally.
@@ -336,6 +342,23 @@ This discussion is mostly relevant in the context of 
traditional Lisp macros
 (@pxref{Defmacros}), which do not preserve referential transparency. Hygiene
 adds to the expressive power of Scheme.
 
address@hidden Shorthands
+
+One often ends up writing simple one-clause @code{syntax-rules} macros.
+There is a convenient shorthand for this idiom, in the form of
address@hidden
+
address@hidden {Syntax} define-syntax-rule (keyword . pattern) [docstring] 
template
+Define @var{keyword} as a new @code{syntax-rules} macro with one clause.
address@hidden deffn
+
+Cast into this form, our @code{when} example is significantly shorter:
+
address@hidden
+(define-syntax-rule (when c e ...)
+  (if c (begin e ...)))
address@hidden example
+
 @subsubsection Further Information
 
 For a formal definition of @code{syntax-rules} and its pattern language, see
diff --git a/doc/ref/api-modules.texi b/doc/ref/api-modules.texi
index 3feced4..33c9819 100644
--- a/doc/ref/api-modules.texi
+++ b/doc/ref/api-modules.texi
@@ -919,28 +919,28 @@ can also work with modules from C, but it is more 
cumbersome.
 
 The following procedures are available.
 
address@hidden {C Procedure} SCM scm_current_module ()
address@hidden {C Function} SCM scm_current_module ()
 Return the module that is the @emph{current module}.
 @end deftypefn
 
address@hidden {C Procedure} SCM scm_set_current_module (SCM @var{module})
address@hidden {C Function} SCM scm_set_current_module (SCM @var{module})
 Set the current module to @var{module} and return the previous current
 module.
 @end deftypefn
 
address@hidden {C Procedure} SCM scm_c_call_with_current_module (SCM 
@var{module}, SCM (address@hidden)(void *), void address@hidden)
address@hidden {C Function} SCM scm_c_call_with_current_module (SCM 
@var{module}, SCM (address@hidden)(void *), void address@hidden)
 Call @var{func} and make @var{module} the current module during the
 call.  The argument @var{data} is passed to @var{func}.  The return
 value of @code{scm_c_call_with_current_module} is the return value of
 @var{func}.
 @end deftypefn
 
address@hidden SCM scm_public_variable (SCM @var{module_name}, SCM @var{name})
address@hidden SCM scm_c_public_variable (const char * @var{module_name}, const 
char * @var{name})
address@hidden {C Function} SCM scm_public_variable (SCM @var{module_name}, SCM 
@var{name})
address@hidden {C Function} SCM scm_c_public_variable ({const char 
address@hidden, {const char address@hidden)
 Find a the variable bound to the symbol @var{name} in the public
 interface of the module named @var{module_name}.
 
- @var{module_name} should be a list of symbols, when represented as a
address@hidden should be a list of symbols, when represented as a
 Scheme object, or a space-separated string, in the @code{const char *}
 case.  See @code{scm_c_define_module} below, for more examples.
 
@@ -948,17 +948,17 @@ Signals an error if no module was found with the given 
name.  If
 @var{name} is not bound in the module, just returns @code{#f}.
 @end deftypefn
 
address@hidden SCM scm_private_variable (SCM @var{module_name}, SCM @var{name})
address@hidden SCM scm_c_private_variable (const char * @var{module_name}, 
const char * @var{name})
address@hidden {C Function} SCM scm_private_variable (SCM @var{module_name}, 
SCM @var{name})
address@hidden {C Function} SCM scm_c_private_variable ({const char 
address@hidden, {const char address@hidden)
 Like @code{scm_public_variable}, but looks in the internals of the
 module named @var{module_name} instead of the public interface.
 Logically, these procedures should only be called on modules you write.
 @end deftypefn
 
address@hidden SCM scm_public_lookup (SCM @var{module_name}, SCM @var{name})
address@hidden SCM scm_c_public_lookup (const char * @var{module_name}, const 
char * @var{name})
address@hidden SCM scm_private_lookup (SCM @var{module_name}, SCM @var{name})
address@hidden SCM scm_c_private_lookup (const char * @var{module_name}, const 
char * @var{name})
address@hidden {C Function} SCM scm_public_lookup (SCM @var{module_name}, SCM 
@var{name})
address@hidden {C Function} SCM scm_c_public_lookup ({const char 
address@hidden, {const char address@hidden)
address@hidden {C Function} SCM scm_private_lookup (SCM @var{module_name}, SCM 
@var{name})
address@hidden {C Function} SCM scm_c_private_lookup ({const char 
address@hidden, {const char address@hidden)
 Like @code{scm_public_variable} or @code{scm_private_variable}, but if
 the @var{name} is not bound in the module, signals an error.  Returns a
 variable, always.
@@ -977,10 +977,10 @@ SCM my_eval_string (SCM str)
 @end example
 @end deftypefn
 
address@hidden SCM scm_public_ref (SCM @var{module_name}, SCM @var{name})
address@hidden SCM scm_c_public_ref (const char * @var{module_name}, const char 
* @var{name})
address@hidden SCM scm_private_ref (SCM @var{module_name}, SCM @var{name})
address@hidden SCM scm_c_private_ref (const char * @var{module_name}, const 
char * @var{name})
address@hidden {C Function} SCM scm_public_ref (SCM @var{module_name}, SCM 
@var{name})
address@hidden {C Function} SCM scm_c_public_ref ({const char address@hidden, 
{const char address@hidden)
address@hidden {C Function} SCM scm_private_ref (SCM @var{module_name}, SCM 
@var{name})
address@hidden {C Function} SCM scm_c_private_ref ({const char address@hidden, 
{const char address@hidden)
 Like @code{scm_public_lookup} or @code{scm_private_lookup}, but
 additionally dereferences the variable.  If the variable object is
 unbound, signals an error.  Returns the value bound to @var{name} in
@@ -991,50 +991,50 @@ In addition, there are a number of other lookup-related 
procedures.  We
 suggest that you use the @code{scm_public_} and @code{scm_private_}
 family of procedures instead, if possible.
 
address@hidden {C Procedure} SCM scm_c_lookup (const char address@hidden)
address@hidden {C Function} SCM scm_c_lookup ({const char address@hidden)
 Return the variable bound to the symbol indicated by @var{name} in the
 current module.  If there is no such binding or the symbol is not
 bound to a variable, signal an error.
 @end deftypefn
 
address@hidden {C Procedure} SCM scm_lookup (SCM @var{name})
address@hidden {C Function} SCM scm_lookup (SCM @var{name})
 Like @code{scm_c_lookup}, but the symbol is specified directly.
 @end deftypefn
 
address@hidden {C Procedure} SCM scm_c_module_lookup (SCM @var{module}, const 
char address@hidden)
address@hidden {C Procedure} SCM scm_module_lookup (SCM @var{module}, SCM 
@var{name})
address@hidden {C Function} SCM scm_c_module_lookup (SCM @var{module}, {const 
char address@hidden)
address@hidden {C Function} SCM scm_module_lookup (SCM @var{module}, SCM 
@var{name})
 Like @code{scm_c_lookup} and @code{scm_lookup}, but the specified
 module is used instead of the current one.
 @end deftypefn
 
address@hidden {C Procedure} SCM scm_module_variable (SCM @var{module}, SCM 
@var{name})
address@hidden {C Function} SCM scm_module_variable (SCM @var{module}, SCM 
@var{name})
 Like @code{scm_module_lookup}, but if the binding does not exist, just
 returns @code{#f} instead of raising an error.
 @end deftypefn
 
 To define a value, use @code{scm_define}:
 
address@hidden {C Procedure} SCM scm_c_define (const char address@hidden, SCM 
@var{val})
address@hidden {C Function} SCM scm_c_define ({const char address@hidden, SCM 
@var{val})
 Bind the symbol indicated by @var{name} to a variable in the current
 module and set that variable to @var{val}.  When @var{name} is already
 bound to a variable, use that.  Else create a new variable.
 @end deftypefn
 
address@hidden {C Procedure} SCM scm_define (SCM @var{name}, SCM @var{val})
address@hidden {C Function} SCM scm_define (SCM @var{name}, SCM @var{val})
 Like @code{scm_c_define}, but the symbol is specified directly.
 @end deftypefn
 
address@hidden {C Procedure} SCM scm_c_module_define (SCM @var{module}, const 
char address@hidden, SCM @var{val})
address@hidden {C Procedure} SCM scm_module_define (SCM @var{module}, SCM 
@var{name}, SCM @var{val})
address@hidden {C Function} SCM scm_c_module_define (SCM @var{module}, {const 
char address@hidden, SCM @var{val})
address@hidden {C Function} SCM scm_module_define (SCM @var{module}, SCM 
@var{name}, SCM @var{val})
 Like @code{scm_c_define} and @code{scm_define}, but the specified
 module is used instead of the current one.
 @end deftypefn
 
address@hidden {C Procedure} SCM scm_module_reverse_lookup (SCM @var{module}, 
SCM @var{variable})
address@hidden {C Function} SCM scm_module_reverse_lookup (SCM @var{module}, 
SCM @var{variable})
 Find the symbol that is bound to @var{variable} in @var{module}.  When no such 
binding is found, return @var{#f}.
 @end deftypefn
 
address@hidden {C Procedure} SCM scm_c_define_module (const char 
address@hidden, void (address@hidden)(void *), void address@hidden)
address@hidden {C Function} SCM scm_c_define_module ({const char 
address@hidden, void (address@hidden)(void *), void address@hidden)
 Define a new module named @var{name} and make it current while
 @var{init} is called, passing it @var{data}.  Return the module.
 
@@ -1046,25 +1046,25 @@ When there already exists a module named @var{name}, it 
is used
 unchanged, otherwise, an empty module is created.
 @end deftypefn
 
address@hidden {C Procedure} SCM scm_c_resolve_module (const char 
address@hidden)
address@hidden {C Function} SCM scm_c_resolve_module ({const char 
address@hidden)
 Find the module name @var{name} and return it.  When it has not
 already been defined, try to auto-load it.  When it can't be found
 that way either, create an empty module.  The name is interpreted as
 for @code{scm_c_define_module}.
 @end deftypefn
 
address@hidden {C Procedure} SCM scm_resolve_module (SCM @var{name})
address@hidden {C Function} SCM scm_resolve_module (SCM @var{name})
 Like @code{scm_c_resolve_module}, but the name is given as a real list
 of symbols.
 @end deftypefn
 
address@hidden {C Procedure} SCM scm_c_use_module (const char address@hidden)
address@hidden {C Function} SCM scm_c_use_module ({const char address@hidden)
 Add the module named @var{name} to the uses list of the current
 module, as with @code{(use-modules @var{name})}.  The name is
 interpreted as for @code{scm_c_define_module}.
 @end deftypefn
 
address@hidden {C Procedure} SCM scm_c_export (const char address@hidden, ...)
address@hidden {C Function} SCM scm_c_export ({const char address@hidden, ...)
 Add the bindings designated by @var{name}, ... to the public interface
 of the current module.  The list of names is terminated by
 @code{NULL}.
diff --git a/doc/ref/guile-invoke.texi b/doc/ref/guile-invoke.texi
index 9379a8b..ccb5301 100644
--- a/doc/ref/guile-invoke.texi
+++ b/doc/ref/guile-invoke.texi
@@ -156,6 +156,12 @@ interactive session.  When executing a script with 
@option{-s} or
 Do not use the debugging VM engine, even when entering an interactive
 session.
 
+Note that, despite the name, Guile running with @option{--no-debug}
address@hidden support the usual debugging facilities, such as printing a
+detailed backtrace upon error.  The only difference with
address@hidden is lack of support for VM hooks and the facilities that
+build upon it (see above).
+
 @item -q
 @cindex init file, not loading
 @cindex @file{.guile} file, not loading
diff --git a/doc/ref/guile.texi b/doc/ref/guile.texi
index f43cc5a..9581f0c 100644
--- a/doc/ref/guile.texi
+++ b/doc/ref/guile.texi
@@ -17,11 +17,10 @@ Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 
2005, 2009,
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
-any later version published by the Free Software Foundation; with
-no Invariant Sections, with the Front-Cover Texts being ``A GNU
-Manual,'' and with the Back-Cover Text ``You are free to copy and
-modify this GNU Manual.''.  A copy of the license is included in the
-section entitled ``GNU Free Documentation License''.
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.  A
+copy of the license is included in the section entitled ``GNU Free
+Documentation License.''
 @end copying
 
 
diff --git a/doc/ref/match.texi b/doc/ref/match.texi
index 66bb0bf..d1618ce 100644
--- a/doc/ref/match.texi
+++ b/doc/ref/match.texi
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C) 2010  Free Software Foundation, Inc.
address@hidden Copyright (C) 2010, 2011  Free Software Foundation, Inc.
 @c See the file guile.texi for copying conditions.
 @c
 
@@ -26,7 +26,7 @@ matcher found in many Scheme implementations.
 @cindex pattern variable
 A pattern matcher can match an object against several patterns and
 extract the elements that make it up.  Patterns can represent any Scheme
-object: lists, strings, symbols, etc.  They can optionally contain
+object: lists, strings, symbols, records, etc.  They can optionally contain
 @dfn{pattern variables}.  When a matching pattern is found, an
 expression associated with the pattern is evaluated, optionally with all
 pattern variables bound to the corresponding elements of the object:
@@ -43,8 +43,8 @@ In this example, list @var{l} matches the pattern 
@code{('hello (who))},
 because it is a two-element list whose first element is the symbol
 @code{hello} and whose second element is a one-element list.  Here
 @var{who} is a pattern variable.  @code{match}, the pattern matcher,
-locally binds @var{who} to the value contained in this one-element list,
-i.e., the symbol @code{world}.
+locally binds @var{who} to the value contained in this one-element
+list---i.e., the symbol @code{world}.
 
 The same object can be matched against a simpler pattern:
 
@@ -112,8 +112,8 @@ pat ::= identifier                      anything, and binds 
identifier
       | #(pat_1 ... pat_n pat_n+1 ooo)  vector of n or more, each element
                                           of remainder must match pat_n+1
       | #&pat                           box
-      | ($ struct-name pat_1 ... pat_n) a structure
-      | (= field pat)                   a field of a structure
+      | ($ record-name pat_1 ... pat_n) a record
+      | (= field pat)                   a ``field'' of an object
       | (and pat_1 ... pat_n)           if all of pat_1 thru pat_n match
       | (or pat_1 ... pat_n)            if any of pat_1 thru pat_n match
       | (not pat_1 ... pat_n)           if all pat_1 thru pat_n don't match
@@ -122,11 +122,13 @@ pat ::= identifier                      anything, and 
binds identifier
       | (set! identifier)               anything, and binds setter
       | (get! identifier)               anything, and binds getter
       | `qp                             a quasi-pattern
+      | (identifier *** pat)            matches pat in a tree and binds
+                                        identifier to the path leading
+                                        to the object that matches pat
 
 ooo ::= ...                             zero or more
       | ___                             zero or more
-      | ..k                             k or more
-      | __k                             k or more
+      | ..1                             1 or more
 
         quasi-patterns:                 matches:
 
@@ -154,6 +156,40 @@ The names @code{quote}, @code{quasiquote}, @code{unquote},
 @code{or}, @code{not}, @code{set!}, @code{get!}, @code{...}, and
 @code{___} cannot be used as pattern variables.
 
+Here is a more complex example:
+
address@hidden
+(use-modules (srfi srfi-9))
+
+(let ()
+  (define-record-type person
+    (make-person name friends)
+    person?
+    (name    person-name)
+    (friends person-friends))
+
+  (letrec ((alice (make-person "Alice" (delay (list bob))))
+           (bob   (make-person "Bob" (delay (list alice)))))
+    (match alice
+      (($ person name (= force (($ person "Bob"))))
+       (list 'friend-of-bob name))
+      (_ #f))))
+
address@hidden (friend-of-bob "Alice")
address@hidden example
+
address@hidden
+Here the @code{$} pattern is used to match a SRFI-9 record of type
address@hidden containing two or more slots.  The value of the first slot
+is bound to @var{name}.  The @code{=} pattern is used to apply
address@hidden on the second slot, and then checking that the result
+matches the given pattern.  In other words, the complete pattern matches
+any @var{person} whose second slot is a promise that evaluates to a
+one-element list containing a @var{person} whose first slot is
address@hidden"Bob"}.
+
+Please refer to the @code{ice-9/match.upstream.scm} file in your Guile
+installation for more details.
 
 Guile also comes with a pattern matcher specifically tailored to SXML
 trees, @xref{sxml-match}.
diff --git a/libguile/numbers.c b/libguile/numbers.c
index 235bbbb..a278ed5 100644
--- a/libguile/numbers.c
+++ b/libguile/numbers.c
@@ -5436,6 +5436,9 @@ char_decimal_value (scm_t_uint32 c)
   return d;
 }
 
+/* Parse the substring of MEM starting at *P_IDX for an unsigned integer
+   in base RADIX.  Upon success, return the unsigned integer and update
+   *P_IDX and *P_EXACTNESS accordingly.  Return #f on failure.  */
 static SCM
 mem2uinteger (SCM mem, unsigned int *p_idx,
              unsigned int radix, enum t_exactness *p_exactness)
@@ -5707,7 +5710,16 @@ mem2ureal (SCM mem, unsigned int *p_idx,
       /* Cobble up the fractional part.  We might want to set the
         NaN's mantissa from it. */
       idx += 4;
-      mem2uinteger (mem, &idx, 10, &implicit_x);
+      if (!scm_is_eq (mem2uinteger (mem, &idx, 10, &implicit_x), SCM_INUM0))
+        {
+#if SCM_ENABLE_DEPRECATED == 1
+          scm_c_issue_deprecation_warning
+            ("Non-zero suffixes to `+nan.' are deprecated.  Use `+nan.0'.");
+#else
+          return SCM_BOOL_F;
+#endif
+        }
+          
       *p_idx = idx;
       return scm_nan ();
     }
diff --git a/libguile/snarf.h b/libguile/snarf.h
index b0800c4..1c072ba 100644
--- a/libguile/snarf.h
+++ b/libguile/snarf.h
@@ -372,7 +372,7 @@ SCM_SNARF_INIT(scm_set_smob_apply((tag), (c_name), (req), 
(opt), (rest));)
     SCM_PACK (0),                                                       \
     foreign,                                                            \
     SCM_BOOL_F, /* the name */                                          \
-  };                                                                   \
+  }
 
 #define SCM_STATIC_PROGRAM(c_name, objcode, objtable, freevars)         \
   static SCM_ALIGNED (8) SCM_UNUSED SCM                                 \
diff --git a/libguile/strings.c b/libguile/strings.c
index dd859c4..2de0035 100644
--- a/libguile/strings.c
+++ b/libguile/strings.c
@@ -1779,14 +1779,16 @@ scm_to_latin1_stringn (SCM str, size_t *lenp)
 
   if (scm_i_is_narrow_string (str))
     {
+      size_t len = scm_i_string_length (str);
+
       if (lenp)
-       *lenp = scm_i_string_length (str);
+        *lenp = len;
 
-      result = scm_strdup (scm_i_string_data (str));
+      result = scm_strndup (scm_i_string_data (str), len);
     }
   else
     result = scm_to_stringn (str, lenp, NULL,
-                            SCM_FAILED_CONVERSION_ERROR);
+                             SCM_FAILED_CONVERSION_ERROR);
 
   return result;
 }
diff --git a/module/Makefile.am b/module/Makefile.am
index 0787f20..6b265b6 100644
--- a/module/Makefile.am
+++ b/module/Makefile.am
@@ -91,10 +91,12 @@ SCHEME_LANG_SOURCES =                                       
        \
 
 TREE_IL_LANG_SOURCES =                                         \
   language/tree-il/primitives.scm                              \
-  language/tree-il/optimize.scm                                 \
-  language/tree-il/inline.scm                                   \
+  language/tree-il/peval.scm                                   \
   language/tree-il/fix-letrec.scm                               \
+  language/tree-il/optimize.scm                                 \
+  language/tree-il/canonicalize.scm                             \
   language/tree-il/analyze.scm                                 \
+  language/tree-il/inline.scm                                  \
   language/tree-il/compile-glil.scm                            \
   language/tree-il/spec.scm
 
diff --git a/module/ice-9/boot-9.scm b/module/ice-9/boot-9.scm
index b233a00..639a63c 100644
--- a/module/ice-9/boot-9.scm
+++ b/module/ice-9/boot-9.scm
@@ -410,6 +410,20 @@ If there is no handler at all, Guile prints an error and 
then exits."
 ;; The binding for `macroexpand' has now been overridden, making psyntax the
 ;; expander now.
 
+(define-syntax define-syntax-rule
+  (lambda (x)
+    (syntax-case x ()
+      ((_ (name . pattern) template)
+       #'(define-syntax name
+           (syntax-rules ()
+             ((_ . pattern) template))))
+      ((_ (name . pattern) docstring template)
+       (string? (syntax->datum #'docstring))
+       #'(define-syntax name
+           (syntax-rules ()
+             docstring
+             ((_ . pattern) template)))))))
+
 (define-syntax and
   (syntax-rules ()
     ((_) #t)
@@ -504,9 +518,8 @@ If there is no handler at all, Guile prints an error and 
then exits."
     ((do "step" x y)
      y)))
 
-(define-syntax delay
-  (syntax-rules ()
-    ((_ exp) (make-promise (lambda () exp)))))
+(define-syntax-rule (delay exp)
+  (make-promise (lambda () exp)))
 
 (include-from-path "ice-9/quasisyntax")
 
@@ -517,11 +530,9 @@ If there is no handler at all, Guile prints an error and 
then exits."
        (with-syntax ((s (datum->syntax x (syntax-source x))))
          #''s)))))
 
-(define-syntax define-once
-  (syntax-rules ()
-    ((_ sym val)
-     (define sym
-       (if (module-locally-bound? (current-module) 'sym) sym val)))))
+(define-syntax-rule (define-once sym val)
+  (define sym
+    (if (module-locally-bound? (current-module) 'sym) sym val)))
 
 ;;; The real versions of `map' and `for-each', with cycle detection, and
 ;;; that use reverse! instead of recursion in the case of `map'.
@@ -853,12 +864,10 @@ VALUE."
 (define (and=> value procedure) (and value (procedure value)))
 (define call/cc call-with-current-continuation)
 
-(define-syntax false-if-exception
-  (syntax-rules ()
-    ((_ expr)
-     (catch #t
-       (lambda () expr)
-       (lambda (k . args) #f)))))
+(define-syntax-rule (false-if-exception expr)
+  (catch #t
+    (lambda () expr)
+    (lambda (k . args) #f)))
 
 
 
@@ -877,12 +886,10 @@ VALUE."
 ;; properties within the object itself.
 
 (define (make-object-property)
-  (define-syntax with-mutex
-    (syntax-rules ()
-      ((_ lock exp)
-       (dynamic-wind (lambda () (lock-mutex lock))
-                     (lambda () exp)
-                     (lambda () (unlock-mutex lock))))))
+  (define-syntax-rule (with-mutex lock exp)
+    (dynamic-wind (lambda () (lock-mutex lock))
+                  (lambda () exp)
+                  (lambda () (unlock-mutex lock))))
   (let ((prop (make-weak-key-hash-table))
         (lock (make-mutex)))
     (make-procedure-with-setter
@@ -1380,10 +1387,9 @@ VALUE."
          (thunk)))
      (lambda (k . args)
        (%start-stack tag (lambda () (apply k args)))))))
-(define-syntax start-stack
-  (syntax-rules ()
-    ((_ tag exp)
-     (%start-stack tag (lambda () exp)))))
+
+(define-syntax-rule (start-stack tag exp)
+  (%start-stack tag (lambda () exp)))
 
 
 
@@ -2819,11 +2825,9 @@ module '(ice-9 q) '(make-q q-length))}."
                      flags)
            (interface options)
            (interface)))
-       (define-syntax option-set!
-         (syntax-rules ()
-           ((_ opt val)
-            (eval-when (eval load compile expand)
-              (options (append (options) (list 'opt val)))))))))))
+       (define-syntax-rule (option-set! opt val)
+         (eval-when (eval load compile expand)
+           (options (append (options) (list 'opt val)))))))))
 
 (define-option-interface
   (debug-options-interface
@@ -3150,10 +3154,8 @@ module '(ice-9 q) '(make-q q-length))}."
 
 (include-from-path "ice-9/r6rs-libraries")
 
-(define-syntax define-private
-  (syntax-rules ()
-    ((_ foo bar)
-     (define foo bar))))
+(define-syntax-rule (define-private foo bar)
+  (define foo bar))
 
 (define-syntax define-public
   (syntax-rules ()
@@ -3164,18 +3166,14 @@ module '(ice-9 q) '(make-q q-length))}."
        (define name val)
        (export name)))))
 
-(define-syntax defmacro-public
-  (syntax-rules ()
-    ((_ name args . body)
-     (begin
-       (defmacro name args . body)
-       (export-syntax name)))))
+(define-syntax-rule (defmacro-public name args body ...)
+  (begin
+    (defmacro name args body ...)
+    (export-syntax name)))
 
 ;; And now for the most important macro.
-(define-syntax λ
-  (syntax-rules ()
-    ((_ formals body ...)
-     (lambda formals body ...))))
+(define-syntax-rule (λ formals body ...)
+  (lambda formals body ...))
 
 
 ;; Export a local variable
@@ -3234,39 +3232,29 @@ module '(ice-9 q) '(make-q q-length))}."
                          (module-add! public-i external-name var)))))
               names)))
 
-(define-syntax export
-  (syntax-rules ()
-    ((_ name ...)
-     (eval-when (eval load compile expand)
-       (call-with-deferred-observers
-        (lambda ()
-          (module-export! (current-module) '(name ...))))))))
+(define-syntax-rule (export name ...)
+  (eval-when (eval load compile expand)
+    (call-with-deferred-observers
+     (lambda ()
+       (module-export! (current-module) '(name ...))))))
 
-(define-syntax re-export
-  (syntax-rules ()
-    ((_ name ...)
-     (eval-when (eval load compile expand)
-       (call-with-deferred-observers
-        (lambda ()
-          (module-re-export! (current-module) '(name ...))))))))
+(define-syntax-rule (re-export name ...)
+  (eval-when (eval load compile expand)
+    (call-with-deferred-observers
+     (lambda ()
+       (module-re-export! (current-module) '(name ...))))))
 
-(define-syntax export!
-  (syntax-rules ()
-    ((_ name ...)
-     (eval-when (eval load compile expand)
-       (call-with-deferred-observers
-        (lambda ()
-          (module-replace! (current-module) '(name ...))))))))
+(define-syntax-rule (export! name ...)
+  (eval-when (eval load compile expand)
+    (call-with-deferred-observers
+     (lambda ()
+       (module-replace! (current-module) '(name ...))))))
 
-(define-syntax export-syntax
-  (syntax-rules ()
-    ((_ name ...)
-     (export name ...))))
+(define-syntax-rule (export-syntax name ...)
+  (export name ...))
 
-(define-syntax re-export-syntax
-  (syntax-rules ()
-    ((_ name ...)
-     (re-export name ...))))
+(define-syntax-rule (re-export-syntax name ...)
+  (re-export name ...))
 
 
 
diff --git a/module/ice-9/command-line.scm b/module/ice-9/command-line.scm
index e94336a..8aed74e 100644
--- a/module/ice-9/command-line.scm
+++ b/module/ice-9/command-line.scm
@@ -122,8 +122,8 @@ If FILE begins with `-' the -s switch is mandatory.
   -e FUNCTION    after reading script, apply FUNCTION to
                  command line arguments
   -ds            do -s script at this point
-  --debug        start with debugging evaluator and backtraces
-  --no-debug     start with normal evaluator
+  --debug        start with the \"debugging\" VM engine
+  --no-debug     start with the normal VM engine, which also supports debugging
                  Default is to enable debugging for interactive
                  use, but not for `-s' and `-c'.
   --auto-compile compile source files automatically
@@ -331,15 +331,15 @@ If FILE begins with `-' the -s switch is mandatory.
             (parse
              args
              (cons
-              (let ((where (substring arg 8)))
+              (let ((where (substring arg 9)))
                 (cond
                  ((string->number where) ; --listen=PORT
                   => (lambda (port)
                        (if (and (integer? port) (exact? port) (>= port 0))
-                           (error "invalid port for --listen")
                            `(@@ (system repl server)
                                 (spawn-server
-                                 (make-tcp-server-socket #:port ,port))))))
+                                 (make-tcp-server-socket #:port ,port)))
+                           (error "invalid port for --listen"))))
                  ((string-prefix? "/" where) ; --listen=/PATH/TO/SOCKET
                   `(@@ (system repl server)
                        (spawn-server
diff --git a/module/ice-9/compile-psyntax.scm b/module/ice-9/compile-psyntax.scm
index 86b94ac..48bab92 100644
--- a/module/ice-9/compile-psyntax.scm
+++ b/module/ice-9/compile-psyntax.scm
@@ -1,6 +1,6 @@
 ;;; -*- mode: scheme; coding: utf-8; -*-
 ;;;
-;;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+;;; Copyright (C) 2009, 2010, 2011 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
@@ -18,6 +18,7 @@
 
 (use-modules (language tree-il)
              (language tree-il optimize)
+             (language tree-il canonicalize)
              (ice-9 pretty-print))
 
 (let ((source (list-ref (command-line) 1))
@@ -34,10 +35,11 @@
             (close-port in))
           (begin
             (pretty-print (tree-il->scheme
-                           (optimize!
-                            (macroexpand x 'c '(compile load eval))
-                            (current-module)
-                            '()))
+                           (canonicalize!
+                            (optimize!
+                             (macroexpand x 'c '(compile load eval))
+                             (current-module)
+                             '())))
                           out)
             (newline out)
             (loop (read in))))))
diff --git a/module/ice-9/control.scm b/module/ice-9/control.scm
index 908e0e9..5f25738 100644
--- a/module/ice-9/control.scm
+++ b/module/ice-9/control.scm
@@ -60,20 +60,16 @@
 ;; http://okmij.org/ftp/Scheme/delim-control-n.scm, which are in the
 ;; public domain, as noted at the top of http://okmij.org/ftp/.
 ;; 
-(define-syntax reset
-  (syntax-rules ()
-    ((_ . body)
-     (call-with-prompt (default-prompt-tag)
-                       (lambda () . body)
-                       (lambda (cont f) (f cont))))))
+(define-syntax-rule (reset . body)
+  (call-with-prompt (default-prompt-tag)
+                    (lambda () . body)
+                    (lambda (cont f) (f cont))))
 
-(define-syntax shift
-  (syntax-rules ()
-    ((_ var . body)
-     (abort-to-prompt (default-prompt-tag)
-                      (lambda (cont)
-                        ((lambda (var) (reset . body))
-                         (lambda vals (reset (apply cont vals)))))))))
+(define-syntax-rule (shift var . body)
+  (abort-to-prompt (default-prompt-tag)
+                   (lambda (cont)
+                     ((lambda (var) (reset . body))
+                      (lambda vals (reset (apply cont vals)))))))
 
 (define (reset* thunk)
   (reset (thunk)))
diff --git a/module/ice-9/futures.scm b/module/ice-9/futures.scm
index 012ebbf..3c4cd7d 100644
--- a/module/ice-9/futures.scm
+++ b/module/ice-9/futures.scm
@@ -173,8 +173,6 @@ touched."
 ;;; Syntax.
 ;;;
 
-(define-syntax future
-  (syntax-rules ()
-    "Return a new future for BODY."
-    ((_ body)
-     (make-future (lambda () body)))))
+(define-syntax-rule (future body)
+  "Return a new future for BODY."
+  (make-future (lambda () body)))
diff --git a/module/ice-9/match.scm b/module/ice-9/match.scm
index 7cedff0..0384f69 100644
--- a/module/ice-9/match.scm
+++ b/module/ice-9/match.scm
@@ -1,6 +1,6 @@
 ;;; -*- mode: scheme; coding: utf-8; -*-
 ;;;
-;;; Copyright (C) 2010 Free Software Foundation, Inc.
+;;; Copyright (C) 2010, 2011 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
@@ -28,11 +28,50 @@
   ;; Error procedure for run-time "no matching pattern" errors.
   (throw 'match-error "match" msg))
 
+;; Support for record matching.
+
+(define-syntax slot-ref
+  (syntax-rules ()
+    ((_ rtd rec n)
+     (struct-ref rec n))))
+
+(define-syntax slot-set!
+  (syntax-rules ()
+    ((_ rtd rec n value)
+     (struct-set! rec n value))))
+
+(define-syntax is-a?
+  (syntax-rules ()
+    ((_ rec rtd)
+     (and (struct? rec)
+          (eq? (struct-vtable rec) rtd)))))
+
 ;; Compared to Andrew K. Wright's `match', this one lacks `match-define',
 ;; `match:error-control', `match:set-error-control', `match:error',
 ;; `match:set-error', and all structure-related procedures.  Also,
 ;; `match' doesn't support clauses of the form `(pat => exp)'.
 
 ;; Unmodified public domain code by Alex Shinn retrieved from
-;; <http://synthcode.com/scheme/match.scm>.
+;; the Chibi-Scheme repository, commit 833:6daa2971f3fe.
+;;
+;; Note: Make sure to update `match.test.upstream' when updating this
+;; file.
 (include-from-path "ice-9/match.upstream.scm")
+
+(define-syntax match
+  (syntax-rules ()
+    ((match)
+     (match-syntax-error "missing match expression"))
+    ((match atom)
+     (match-syntax-error "no match clauses"))
+    ((match (app ...) (pat . body) ...)
+     (let ((v (app ...)))
+       (match-next v ((app ...) (set! (app ...))) (pat . body) ...)))
+    ((match #(vec ...) (pat . body) ...)
+     (let ((v #(vec ...)))
+       (match-next v (v (set! v)) (pat . body) ...)))
+    ((match atom (pat . body) ...)
+     (let ((v atom))
+       (match-next v (atom (set! atom)) (pat . body) ...)))
+    ))
+
diff --git a/module/ice-9/match.upstream.scm b/module/ice-9/match.upstream.scm
index df6b3d9..6fc01a6 100644
--- a/module/ice-9/match.upstream.scm
+++ b/module/ice-9/match.upstream.scm
@@ -1,20 +1,203 @@
 ;;;; match.scm -- portable hygienic pattern matcher
+;;;; -*- coding: utf-8 -*-
 ;;
 ;; This code is written by Alex Shinn and placed in the
 ;; Public Domain.  All warranties are disclaimed.
 
-;; This is a full superset of the popular MATCH package by Andrew
-;; Wright, written in fully portable SYNTAX-RULES (R5RS only, breaks
-;; in R6RS SYNTAX-RULES), and thus preserving hygiene.
+;;> @example-import[(srfi 9)]
 
-;; This is a simple generative pattern matcher - each pattern is
-;; expanded into the required tests, calling a failure continuation if
-;; the tests fail.  This makes the logic easy to follow and extend,
-;; but produces sub-optimal code in cases where you have many similar
-;; clauses due to repeating the same tests.  Nonetheless a smart
-;; compiler should be able to remove the redundant tests.  For
-;; MATCH-LET and DESTRUCTURING-BIND type uses there is no performance
-;; hit.
+;;> This is a full superset of the popular @hyperlink[
+;;> "http://www.cs.indiana.edu/scheme-repository/code.match.html"]{match}
+;;> package by Andrew Wright, written in fully portable @scheme{syntax-rules}
+;;> and thus preserving hygiene.
+
+;;> The most notable extensions are the ability to use @emph{non-linear}
+;;> patterns - patterns in which the same identifier occurs multiple
+;;> times, tail patterns after ellipsis, and the experimental tree patterns.
+
+;;> @subsubsection{Patterns}
+
+;;> Patterns are written to look like the printed representation of
+;;> the objects they match.  The basic usage is
+
+;;> @scheme{(match expr (pat body ...) ...)}
+
+;;> where the result of @var{expr} is matched against each pattern in
+;;> turn, and the corresponding body is evaluated for the first to
+;;> succeed.  Thus, a list of three elements matches a list of three
+;;> elements.
+
+;;> @example{(let ((ls (list 1 2 3))) (match ls ((1 2 3) #t)))}
+
+;;> If no patterns match an error is signalled.
+
+;;> Identifiers will match anything, and make the corresponding
+;;> binding available in the body.
+
+;;> @example{(match (list 1 2 3) ((a b c) b))}
+
+;;> If the same identifier occurs multiple times, the first instance
+;;> will match anything, but subsequent instances must match a value
+;;> which is @scheme{equal?} to the first.
+
+;;> @example{(match (list 1 2 1) ((a a b) 1) ((a b a) 2))}
+
+;;> The special identifier @scheme{_} matches anything, no matter how
+;;> many times it is used, and does not bind the result in the body.
+
+;;> @example{(match (list 1 2 1) ((_ _ b) 1) ((a b a) 2))}
+
+;;> To match a literal identifier (or list or any other literal), use
+;;> @scheme{quote}.
+
+;;> @example{(match 'a ('b 1) ('a 2))}
+
+;;> Analogous to its normal usage in scheme, @scheme{quasiquote} can
+;;> be used to quote a mostly literally matching object with selected
+;;> parts unquoted.
+
+;;> @example|{(match (list 1 2 3) (`(1 ,b ,c) (list b c)))}|
+
+;;> Often you want to match any number of a repeated pattern.  Inside
+;;> a list pattern you can append @scheme{...} after an element to
+;;> match zero or more of that pattern (like a regexp Kleene star).
+
+;;> @example{(match (list 1 2) ((1 2 3 ...) #t))}
+;;> @example{(match (list 1 2 3) ((1 2 3 ...) #t))}
+;;> @example{(match (list 1 2 3 3 3) ((1 2 3 ...) #t))}
+
+;;> Pattern variables matched inside the repeated pattern are bound to
+;;> a list of each matching instance in the body.
+
+;;> @example{(match (list 1 2) ((a b c ...) c))}
+;;> @example{(match (list 1 2 3) ((a b c ...) c))}
+;;> @example{(match (list 1 2 3 4 5) ((a b c ...) c))}
+
+;;> More than one @scheme{...} may not be used in the same list, since
+;;> this would require exponential backtracking in the general case.
+;;> However, @scheme{...} need not be the final element in the list,
+;;> and may be succeeded by a fixed number of patterns.
+
+;;> @example{(match (list 1 2 3 4) ((a b c ... d e) c))}
+;;> @example{(match (list 1 2 3 4 5) ((a b c ... d e) c))}
+;;> @example{(match (list 1 2 3 4 5 6 7) ((a b c ... d e) c))}
+
+;;> @scheme{___} is provided as an alias for @scheme{...} when it is
+;;> inconvenient to use the ellipsis (as in a syntax-rules template).
+
+;;> The @scheme{..1} syntax is exactly like the @scheme{...} except
+;;> that it matches one or more repetitions (like a regexp "+").
+
+;;> @example{(match (list 1 2) ((a b c ..1) c))}
+;;> @example{(match (list 1 2 3) ((a b c ..1) c))}
+
+;;> The boolean operators @scheme{and}, @scheme{or} and @scheme{not}
+;;> can be used to group and negate patterns analogously to their
+;;> Scheme counterparts.
+
+;;> The @scheme{and} operator ensures that all subpatterns match.
+;;> This operator is often used with the idiom @scheme{(and x pat)} to
+;;> bind @var{x} to the entire value that matches @var{pat}
+;;> (c.f. "as-patterns" in ML or Haskell).  Another common use is in
+;;> conjunction with @scheme{not} patterns to match a general case
+;;> with certain exceptions.
+
+;;> @example{(match 1 ((and) #t))}
+;;> @example{(match 1 ((and x) x))}
+;;> @example{(match 1 ((and x 1) x))}
+
+;;> The @scheme{or} operator ensures that at least one subpattern
+;;> matches.  If the same identifier occurs in different subpatterns,
+;;> it is matched independently.  All identifiers from all subpatterns
+;;> are bound if the @scheme{or} operator matches, but the binding is
+;;> only defined for identifiers from the subpattern which matched.
+
+;;> @example{(match 1 ((or) #t) (else #f))}
+;;> @example{(match 1 ((or x) x))}
+;;> @example{(match 1 ((or x 2) x))}
+
+;;> The @scheme{not} operator succeeds if the given pattern doesn't
+;;> match.  None of the identifiers used are available in the body.
+
+;;> @example{(match 1 ((not 2) #t))}
+
+;;> The more general operator @scheme{?} can be used to provide a
+;;> predicate.  The usage is @scheme{(? predicate pat ...)} where
+;;> @var{predicate} is a Scheme expression evaluating to a predicate
+;;> called on the value to match, and any optional patterns after the
+;;> predicate are then matched as in an @scheme{and} pattern.
+
+;;> @example{(match 1 ((? odd? x) x))}
+
+;;> The field operator @scheme{=} is used to extract an arbitrary
+;;> field and match against it.  It is useful for more complex or
+;;> conditional destructuring that can't be more directly expressed in
+;;> the pattern syntax.  The usage is @scheme{(= field pat)}, where
+;;> @var{field} can be any expression, and should result in a
+;;> procedure of one argument, which is applied to the value to match
+;;> to generate a new value to match against @var{pat}.
+
+;;> Thus the pattern @scheme{(and (= car x) (= cdr y))} is equivalent
+;;> to @scheme{(x . y)}, except it will result in an immediate error
+;;> if the value isn't a pair.
+
+;;> @example{(match '(1 . 2) ((= car x) x))}
+;;> @example{(match 4 ((= sqrt x) x))}
+
+;;> The record operator @scheme{$} is used as a concise way to match
+;;> records defined by SRFI-9 (or SRFI-99).  The usage is
+;;> @scheme{($ rtd field ...)}, where @var{rtd} should be the record
+;;> type descriptor specified as the first argument to
+;;> @scheme{define-record-type}, and each @var{field} is a subpattern
+;;> matched against the fields of the record in order.  Not all fields
+;;> must be present.
+
+;;> @example{
+;;> (let ()
+;;>   (define-record-type employee
+;;>     (make-employee name title)
+;;>     employee?
+;;>     (name get-name)
+;;>     (title get-title))
+;;>   (match (make-employee "Bob" "Doctor")
+;;>     (($ employee n t) (list t n))))
+;;> }
+
+;;> The @scheme{set!} and @scheme{get!} operators are used to bind an
+;;> identifier to the setter and getter of a field, respectively.  The
+;;> setter is a procedure of one argument, which mutates the field to
+;;> that argument.  The getter is a procedure of no arguments which
+;;> returns the current value of the field.
+
+;;> @example{(let ((x (cons 1 2))) (match x ((1 . (set! s)) (s 3) x)))}
+;;> @example{(match '(1 . 2) ((1 . (get! g)) (g)))}
+
+;;> The new operator @scheme{***} can be used to search a tree for
+;;> subpatterns.  A pattern of the form @scheme{(x *** y)} represents
+;;> the subpattern @var{y} located somewhere in a tree where the path
+;;> from the current object to @var{y} can be seen as a list of the
+;;> form @scheme{(x ...)}.  @var{y} can immediately match the current
+;;> object in which case the path is the empty list.  In a sense it's
+;;> a 2-dimensional version of the @scheme{...} pattern.
+
+;;> As a common case the pattern @scheme{(_ *** y)} can be used to
+;;> search for @var{y} anywhere in a tree, regardless of the path
+;;> used.
+
+;;> @example{(match '(a (a (a b))) ((x *** 'b) x))}
+;;> @example{(match '(a (b) (c (d e) (f g))) ((x *** 'g) x))}
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Notes
+
+;; The implementation is a simple generative pattern matcher - each
+;; pattern is expanded into the required tests, calling a failure
+;; continuation if the tests fail.  This makes the logic easy to
+;; follow and extend, but produces sub-optimal code in cases where you
+;; have many similar clauses due to repeating the same tests.
+;; Nonetheless a smart compiler should be able to remove the redundant
+;; tests.  For MATCH-LET and DESTRUCTURING-BIND type uses there is no
+;; performance hit.
 
 ;; The original version was written on 2006/11/29 and described in the
 ;; following Usenet post:
@@ -28,6 +211,9 @@
 ;; performance can be found at
 ;;   http://synthcode.com/scheme/match-cond-expand.scm
 ;;
+;; 2011/01/27 - fixing bug when matching tail patterns against improper lists
+;; 2010/09/26 - adding `..1' patterns (thanks to Ludovic Courtès)
+;; 2010/09/07 - fixing identifier extraction in some `...' and `***' patterns
 ;; 2009/11/25 - adding `***' tree search patterns
 ;; 2008/03/20 - fixing bug where (a ...) matched non-lists
 ;; 2008/03/15 - removing redundant check in vector patterns
@@ -49,6 +235,21 @@
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
+;;> @subsubsection{Syntax}
+
+;;> @address@hidden(match expr (pattern . body) ...)@br{}
+;;> (match expr (pattern (=> failure) . body) ...)}}
+
+;;> The result of @var{expr} is matched against each @var{pattern} in
+;;> turn, according to the pattern rules described in the previous
+;;> section, until the the first @var{pattern} matches.  When a match is
+;;> found, the corresponding @var{body}s are evaluated in order,
+;;> and the result of the last expression is returned as the result
+;;> of the entire @scheme{match}.  If a @var{failure} is provided,
+;;> then it is bound to a procedure of no arguments which continues,
+;;> processing at the next @var{pattern}.  If no @var{pattern} matches,
+;;> an error is signalled.
+
 ;; The basic interface.  MATCH just performs some basic syntax
 ;; validation, binds the match expression to a temporary variable `v',
 ;; and passes it on to MATCH-NEXT.  It's a constant throughout the
@@ -165,6 +366,10 @@
      (if (pair? v)
          (match-one v (p ___) g+s sk fk i)
          fk))
+    ((match-two v ($ rec p ...) g+s sk fk i)
+     (if (is-a? v rec)
+         (match-record-refs v rec 0 (p ...) g+s sk fk i)
+         fk))
     ((match-two v (p . q) g+s sk fk i)
      (if (pair? v)
          (let ((w (car v)) (x (cdr v)))
@@ -240,6 +445,11 @@
   (syntax-rules ()
     ((_ expr ids ...) expr)))
 
+(define-syntax match-tuck-ids
+  (syntax-rules ()
+    ((_ (letish args (expr ...)) ids ...)
+     (letish args (expr ... ids ...)))))
+
 (define-syntax match-drop-first-arg
   (syntax-rules ()
     ((_ arg expr) expr)))
@@ -309,14 +519,14 @@
       r
       (let* ((tail-len (length 'r))
              (ls v)
-             (len (length ls)))
-        (if (< len tail-len)
+             (len (and (list? ls) (length ls))))
+        (if (or (not len) (< len tail-len))
             fk
             (let loop ((ls ls) (n len) (id-ls '()) ...)
               (cond
                 ((= n tail-len)
                  (let ((id (reverse id-ls)) ...)
-                   (match-one ls r (#f #f) (sk ... i) fk i)))
+                   (match-one ls r (#f #f) (sk ...) fk i)))
                 ((pair? ls)
                  (let ((w (car ls)))
                    (match-one w p ((car ls) (set-car! ls))
@@ -349,21 +559,7 @@
     ((_ x sk)
      (match-syntax-error "dotted tail not allowed after ellipse" x))))
 
-;; Matching a tree search pattern is only slightly more complicated.
-;; Here we allow patterns of the form
-;;
-;;     (x *** y)
-;;
-;; to represent the pattern y located somewhere in a tree where the
-;; path from the current object to y can be seen as a list of the form
-;; (X ...).  Y can immediately match the current object in which case
-;; the path is the empty list.  In a sense it's a 2-dimensional
-;; version of the ... pattern.
-;;
-;; As a common case the pattern (_ *** y) can be used to search for Y
-;; anywhere in a tree, regardless of the path used.
-;;
-;; To implement the search, we use two recursive procedures.  TRY
+;; To implement the tree search, we use two recursive procedures.  TRY
 ;; attempts to match Y once, and on success it calls the normal SK on
 ;; the accumulated list ids as in MATCH-GEN-ELLIPSES.  On failure, we
 ;; call NEXT which first checks if the current value is a list
@@ -380,7 +576,7 @@
     ((match-gen-search v p q g+s sk fk i ((id id-ls) ...))
      (letrec ((try (lambda (w fail id-ls ...)
                      (match-one w q g+s
-                                (match-drop-ids
+                                (match-tuck-ids
                                  (let ((id (reverse id-ls)) ...)
                                    sk))
                                 (next w fail id-ls ...) i)))
@@ -475,6 +671,15 @@
                       (match-drop-ids (loop (+ j 1) (cons id id-ls) ...))
                       fk i)))))))
 
+(define-syntax match-record-refs
+  (syntax-rules ()
+    ((_ v rec n (p . q) g+s sk fk i)
+     (let ((w (slot-ref rec v n)))
+       (match-one w p ((slot-ref rec v n) (slot-set! rec v n))
+                  (match-record-refs v rec (+ n 1) q g+s sk fk) fk i)))
+    ((_ v rec n () g+s (sk ...) fk i)
+     (sk ... i))))
+
 ;; Extract all identifiers in a pattern.  A little more complicated
 ;; than just looking for symbols, we need to ignore special keywords
 ;; and non-pattern forms (such as the predicate expression in ?
@@ -518,8 +723,8 @@
      (match-extract-vars (p ...) . x))
     ((match-extract-vars _ (k ...) i v)    (k ... v))
     ((match-extract-vars ___ (k ...) i v)  (k ... v))
-    ((match-extract-vars ..1 (k ...) i v)  (k ... v))
     ((match-extract-vars *** (k ...) i v)  (k ... v))
+    ((match-extract-vars ..1 (k ...) i v)  (k ... v))
     ;; This is the main part, the only place where we might add a new
     ;; var if it's an unbound symbol.
     ((match-extract-vars p (k ...) (i ...) v)
@@ -527,7 +732,7 @@
          ((new-sym?
            (syntax-rules (i ...)
              ((new-sym? p sk fk) sk)
-             ((new-sym? x sk fk) fk))))
+             ((new-sym? any sk fk) fk))))
        (new-sym? random-sym-to-match
                  (k ... ((p p-ls) . v))
                  (k ... v))))
@@ -572,24 +777,42 @@
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Gimme some sugar baby.
 
+;;> Shortcut for @scheme{lambda} + @scheme{match}.  Creates a
+;;> procedure of one argument, and matches that argument against each
+;;> clause.
+
 (define-syntax match-lambda
   (syntax-rules ()
-    ((_ clause ...) (lambda (expr) (match expr clause ...)))))
+    ((_ (pattern . body) ...) (lambda (expr) (match expr (pattern . body) 
...)))))
+
+;;> Similar to @scheme{match-lambda}.  Creates a procedure of any
+;;> number of arguments, and matches the argument list against each
+;;> clause.
 
 (define-syntax match-lambda*
   (syntax-rules ()
-    ((_ clause ...) (lambda expr (match expr clause ...)))))
+    ((_ (pattern . body) ...) (lambda expr (match expr (pattern . body) 
...)))))
+
+;;> Matches each var to the corresponding expression, and evaluates
+;;> the body with all match variables in scope.  Raises an error if
+;;> any of the expressions fail to match.  Syntax analogous to named
+;;> let can also be used for recursive functions which match on their
+;;> arguments as in @scheme{match-lambda*}.
 
 (define-syntax match-let
   (syntax-rules ()
-    ((_ (vars ...) . body)
-     (match-let/helper let () () (vars ...) . body))
-    ((_ loop . rest)
-     (match-named-let loop () . rest))))
+    ((_ ((var value) ...) . body)
+     (match-let/helper let () () ((var value) ...) . body))
+    ((_ loop ((var init) ...) . body)
+     (match-named-let loop ((var init) ...) . body))))
+
+;;> Similar to @scheme{match-let}, but analogously to @scheme{letrec}
+;;> matches and binds the variables with all match variables in scope.
 
 (define-syntax match-letrec
   (syntax-rules ()
-    ((_ vars . body) (match-let/helper letrec () () vars . body))))
+    ((_ ((var value) ...) . body)
+     (match-let/helper letrec () () ((var value) ...) . body))))
 
 (define-syntax match-let/helper
   (syntax-rules ()
@@ -617,6 +840,12 @@
     ((_ loop (v ...) ((pat expr) . rest) . body)
      (match-named-let loop (v ... (pat expr tmp)) rest . body))))
 
+;;> @address@hidden(match-let* ((var value) ...) body ...)}}
+
+;;> Similar to @scheme{match-let}, but analogously to @scheme{let*}
+;;> matches and binds the variables in sequence, with preceding match
+;;> variables in scope.
+
 (define-syntax match-let*
   (syntax-rules ()
     ((_ () . body)
diff --git a/module/ice-9/optargs.scm b/module/ice-9/optargs.scm
index 50a8299..dc4ec95 100644
--- a/module/ice-9/optargs.scm
+++ b/module/ice-9/optargs.scm
@@ -1,6 +1,6 @@
 ;;;; optargs.scm -- support for optional arguments
 ;;;;
-;;;;   Copyright (C) 1997, 1998, 1999, 2001, 2002, 2004, 2006, 2009, 2010 Free 
Software Foundation, Inc.
+;;;;   Copyright (C) 1997, 1998, 1999, 2001, 2002, 2004, 2006, 2009, 2010, 
2011 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
@@ -278,12 +278,10 @@
        #'(define-macro id doc (lambda* args b0 b1 ...)))
       ((_ id args b0 b1 ...) 
        #'(define-macro id #f (lambda* args b0 b1 ...))))))
-(define-syntax defmacro*-public
-  (syntax-rules ()
-    ((_ id args b0 b1 ...)
-     (begin
-       (defmacro* id args b0 b1 ...)
-       (export-syntax id)))))
+(define-syntax-rule (defmacro*-public id args b0 b1 ...)
+  (begin
+    (defmacro* id args b0 b1 ...)
+    (export-syntax id)))
 
 ;;; Support for optional & keyword args with the interpreter.
 (define *uninitialized* (list 'uninitialized))
diff --git a/module/ice-9/poll.scm b/module/ice-9/poll.scm
index 26b264b..cf61294 100644
--- a/module/ice-9/poll.scm
+++ b/module/ice-9/poll.scm
@@ -1,6 +1,6 @@
 ;; poll
 
-;;;; Copyright (C) 2010 Free Software Foundation, Inc.
+;;;; Copyright (C) 2010, 2011 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
@@ -68,9 +68,8 @@
   (ports pset-ports set-pset-ports!)
   )
 
-(define-syntax pollfd-offset
-  (syntax-rules ()
-    ((_ n) (* n 8))))
+(define-syntax-rule (pollfd-offset n)
+  (* n 8))
 
 (define* (make-empty-poll-set #:optional (pre-allocated 4))
   (make-poll-set (make-bytevector (pollfd-offset pre-allocated) 0)
diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm
index 40734cf..db6fc8a 100644
--- a/module/ice-9/psyntax-pp.scm
+++ b/module/ice-9/psyntax-pp.scm
@@ -2,14098 +2,16857 @@
 (if #f #f)
 
 (letrec*
-  ((#{make-void 203}#
-     (lambda (#{src 765}#)
+  ((#{make-void 208}#
+     (lambda (#{src 783}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 0)
-         #{src 765}#)))
-   (#{make-const 205}#
-     (lambda (#{src 767}# #{exp 768}#)
+         #{src 783}#)))
+   (#{make-const 210}#
+     (lambda (#{src 785}# #{exp 786}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 1)
-         #{src 767}#
-         #{exp 768}#)))
-   (#{make-primitive-ref 207}#
-     (lambda (#{src 771}# #{name 772}#)
-       (make-struct/no-tail
-         (vector-ref %expanded-vtables 2)
-         #{src 771}#
-         #{name 772}#)))
-   (#{make-lexical-ref 209}#
-     (lambda (#{src 775}# #{name 776}# #{gensym 777}#)
+         #{src 785}#
+         #{exp 786}#)))
+   (#{make-lexical-ref 214}#
+     (lambda (#{src 793}# #{name 794}# #{gensym 795}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 3)
-         #{src 775}#
-         #{name 776}#
-         #{gensym 777}#)))
-   (#{make-lexical-set 211}#
-     (lambda (#{src 781}#
-              #{name 782}#
-              #{gensym 783}#
-              #{exp 784}#)
+         #{src 793}#
+         #{name 794}#
+         #{gensym 795}#)))
+   (#{make-lexical-set 216}#
+     (lambda (#{src 799}#
+              #{name 800}#
+              #{gensym 801}#
+              #{exp 802}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 4)
-         #{src 781}#
-         #{name 782}#
-         #{gensym 783}#
-         #{exp 784}#)))
-   (#{make-module-ref 213}#
-     (lambda (#{src 789}#
-              #{mod 790}#
-              #{name 791}#
-              #{public? 792}#)
+         #{src 799}#
+         #{name 800}#
+         #{gensym 801}#
+         #{exp 802}#)))
+   (#{make-module-ref 218}#
+     (lambda (#{src 807}#
+              #{mod 808}#
+              #{name 809}#
+              #{public? 810}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 5)
-         #{src 789}#
-         #{mod 790}#
-         #{name 791}#
-         #{public? 792}#)))
-   (#{make-module-set 215}#
-     (lambda (#{src 797}#
-              #{mod 798}#
-              #{name 799}#
-              #{public? 800}#
-              #{exp 801}#)
+         #{src 807}#
+         #{mod 808}#
+         #{name 809}#
+         #{public? 810}#)))
+   (#{make-module-set 220}#
+     (lambda (#{src 815}#
+              #{mod 816}#
+              #{name 817}#
+              #{public? 818}#
+              #{exp 819}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 6)
-         #{src 797}#
-         #{mod 798}#
-         #{name 799}#
-         #{public? 800}#
-         #{exp 801}#)))
-   (#{make-toplevel-ref 217}#
-     (lambda (#{src 807}# #{name 808}#)
+         #{src 815}#
+         #{mod 816}#
+         #{name 817}#
+         #{public? 818}#
+         #{exp 819}#)))
+   (#{make-toplevel-ref 222}#
+     (lambda (#{src 825}# #{name 826}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 7)
-         #{src 807}#
-         #{name 808}#)))
-   (#{make-toplevel-set 219}#
-     (lambda (#{src 811}# #{name 812}# #{exp 813}#)
+         #{src 825}#
+         #{name 826}#)))
+   (#{make-toplevel-set 224}#
+     (lambda (#{src 829}# #{name 830}# #{exp 831}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 8)
-         #{src 811}#
-         #{name 812}#
-         #{exp 813}#)))
-   (#{make-toplevel-define 221}#
-     (lambda (#{src 817}# #{name 818}# #{exp 819}#)
+         #{src 829}#
+         #{name 830}#
+         #{exp 831}#)))
+   (#{make-toplevel-define 226}#
+     (lambda (#{src 835}# #{name 836}# #{exp 837}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 9)
-         #{src 817}#
-         #{name 818}#
-         #{exp 819}#)))
-   (#{make-conditional 223}#
-     (lambda (#{src 823}#
-              #{test 824}#
-              #{consequent 825}#
-              #{alternate 826}#)
+         #{src 835}#
+         #{name 836}#
+         #{exp 837}#)))
+   (#{make-conditional 228}#
+     (lambda (#{src 841}#
+              #{test 842}#
+              #{consequent 843}#
+              #{alternate 844}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 10)
-         #{src 823}#
-         #{test 824}#
-         #{consequent 825}#
-         #{alternate 826}#)))
-   (#{make-call 225}#
-     (lambda (#{src 831}# #{proc 832}# #{args 833}#)
+         #{src 841}#
+         #{test 842}#
+         #{consequent 843}#
+         #{alternate 844}#)))
+   (#{make-call 230}#
+     (lambda (#{src 849}# #{proc 850}# #{args 851}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 11)
-         #{src 831}#
-         #{proc 832}#
-         #{args 833}#)))
-   (#{make-primcall 227}#
-     (lambda (#{src 837}# #{name 838}# #{args 839}#)
+         #{src 849}#
+         #{proc 850}#
+         #{args 851}#)))
+   (#{make-primcall 232}#
+     (lambda (#{src 855}# #{name 856}# #{args 857}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 12)
-         #{src 837}#
-         #{name 838}#
-         #{args 839}#)))
-   (#{make-seq 229}#
-     (lambda (#{src 843}# #{head 844}# #{tail 845}#)
+         #{src 855}#
+         #{name 856}#
+         #{args 857}#)))
+   (#{make-seq 234}#
+     (lambda (#{src 861}# #{head 862}# #{tail 863}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 13)
-         #{src 843}#
-         #{head 844}#
-         #{tail 845}#)))
-   (#{make-lambda 231}#
-     (lambda (#{src 849}# #{meta 850}# #{body 851}#)
+         #{src 861}#
+         #{head 862}#
+         #{tail 863}#)))
+   (#{make-lambda 236}#
+     (lambda (#{src 867}# #{meta 868}# #{body 869}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 14)
-         #{src 849}#
-         #{meta 850}#
-         #{body 851}#)))
-   (#{make-lambda-case 233}#
-     (lambda (#{src 855}#
-              #{req 856}#
-              #{opt 857}#
-              #{rest 858}#
-              #{kw 859}#
-              #{inits 860}#
-              #{gensyms 861}#
-              #{body 862}#
-              #{alternate 863}#)
+         #{src 867}#
+         #{meta 868}#
+         #{body 869}#)))
+   (#{make-lambda-case 238}#
+     (lambda (#{src 873}#
+              #{req 874}#
+              #{opt 875}#
+              #{rest 876}#
+              #{kw 877}#
+              #{inits 878}#
+              #{gensyms 879}#
+              #{body 880}#
+              #{alternate 881}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 15)
-         #{src 855}#
-         #{req 856}#
-         #{opt 857}#
-         #{rest 858}#
-         #{kw 859}#
-         #{inits 860}#
-         #{gensyms 861}#
-         #{body 862}#
-         #{alternate 863}#)))
-   (#{make-let 235}#
-     (lambda (#{src 873}#
-              #{names 874}#
-              #{gensyms 875}#
-              #{vals 876}#
-              #{body 877}#)
+         #{src 873}#
+         #{req 874}#
+         #{opt 875}#
+         #{rest 876}#
+         #{kw 877}#
+         #{inits 878}#
+         #{gensyms 879}#
+         #{body 880}#
+         #{alternate 881}#)))
+   (#{make-let 240}#
+     (lambda (#{src 891}#
+              #{names 892}#
+              #{gensyms 893}#
+              #{vals 894}#
+              #{body 895}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 16)
-         #{src 873}#
-         #{names 874}#
-         #{gensyms 875}#
-         #{vals 876}#
-         #{body 877}#)))
-   (#{make-letrec 237}#
-     (lambda (#{src 883}#
-              #{in-order? 884}#
-              #{names 885}#
-              #{gensyms 886}#
-              #{vals 887}#
-              #{body 888}#)
+         #{src 891}#
+         #{names 892}#
+         #{gensyms 893}#
+         #{vals 894}#
+         #{body 895}#)))
+   (#{make-letrec 242}#
+     (lambda (#{src 901}#
+              #{in-order? 902}#
+              #{names 903}#
+              #{gensyms 904}#
+              #{vals 905}#
+              #{body 906}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 17)
-         #{src 883}#
-         #{in-order? 884}#
-         #{names 885}#
-         #{gensyms 886}#
-         #{vals 887}#
-         #{body 888}#)))
-   (#{make-dynlet 239}#
-     (lambda (#{src 895}#
-              #{fluids 896}#
-              #{vals 897}#
-              #{body 898}#)
+         #{src 901}#
+         #{in-order? 902}#
+         #{names 903}#
+         #{gensyms 904}#
+         #{vals 905}#
+         #{body 906}#)))
+   (#{make-dynlet 244}#
+     (lambda (#{src 913}#
+              #{fluids 914}#
+              #{vals 915}#
+              #{body 916}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 18)
-         #{src 895}#
-         #{fluids 896}#
-         #{vals 897}#
-         #{body 898}#)))
-   (#{lambda? 242}#
-     (lambda (#{x 903}#)
-       (if (struct? #{x 903}#)
-         (eq? (struct-vtable #{x 903}#)
+         #{src 913}#
+         #{fluids 914}#
+         #{vals 915}#
+         #{body 916}#)))
+   (#{lambda? 247}#
+     (lambda (#{x 921}#)
+       (if (struct? #{x 921}#)
+         (eq? (struct-vtable #{x 921}#)
               (vector-ref %expanded-vtables 14))
          #f)))
-   (#{lambda-meta 244}#
-     (lambda (#{x 907}#) (struct-ref #{x 907}# 1)))
-   (#{set-lambda-meta! 246}#
-     (lambda (#{x 909}# #{v 910}#)
-       (struct-set! #{x 909}# 1 #{v 910}#)))
-   (#{top-level-eval-hook 252}#
-     (lambda (#{x 913}# #{mod 914}#)
-       (primitive-eval #{x 913}#)))
-   (#{local-eval-hook 254}#
-     (lambda (#{x 917}# #{mod 918}#)
-       (primitive-eval #{x 917}#)))
-   (#{put-global-definition-hook 257}#
-     (lambda (#{symbol 921}# #{type 922}# #{val 923}#)
+   (#{lambda-meta 249}#
+     (lambda (#{x 925}#) (struct-ref #{x 925}# 1)))
+   (#{set-lambda-meta! 251}#
+     (lambda (#{x 927}# #{v 928}#)
+       (struct-set! #{x 927}# 1 #{v 928}#)))
+   (#{top-level-eval-hook 257}#
+     (lambda (#{x 931}# #{mod 932}#)
+       (primitive-eval #{x 931}#)))
+   (#{local-eval-hook 259}#
+     (lambda (#{x 935}# #{mod 936}#)
+       (primitive-eval #{x 935}#)))
+   (#{put-global-definition-hook 263}#
+     (lambda (#{symbol 939}# #{type 940}# #{val 941}#)
        (module-define!
          (current-module)
-         #{symbol 921}#
+         #{symbol 939}#
          (make-syntax-transformer
-           #{symbol 921}#
-           #{type 922}#
-           #{val 923}#))))
-   (#{get-global-definition-hook 259}#
-     (lambda (#{symbol 927}# #{module 928}#)
+           #{symbol 939}#
+           #{type 940}#
+           #{val 941}#))))
+   (#{get-global-definition-hook 265}#
+     (lambda (#{symbol 945}# #{module 946}#)
        (begin
-         (if (if (not #{module 928}#) (current-module) #f)
+         (if (if (not #{module 946}#) (current-module) #f)
            (warn "module system is booted, we should have a module"
-                 #{symbol 927}#))
-         (let ((#{v 934}# (module-variable
-                            (if #{module 928}#
-                              (resolve-module (cdr #{module 928}#))
+                 #{symbol 945}#))
+         (let ((#{v 952}# (module-variable
+                            (if #{module 946}#
+                              (resolve-module (cdr #{module 946}#))
                               (current-module))
-                            #{symbol 927}#)))
-           (if #{v 934}#
-             (if (variable-bound? #{v 934}#)
-               (let ((#{val 939}# (variable-ref #{v 934}#)))
-                 (if (macro? #{val 939}#)
-                   (if (macro-type #{val 939}#)
-                     (cons (macro-type #{val 939}#)
-                           (macro-binding #{val 939}#))
+                            #{symbol 945}#)))
+           (if #{v 952}#
+             (if (variable-bound? #{v 952}#)
+               (let ((#{val 957}# (variable-ref #{v 952}#)))
+                 (if (macro? #{val 957}#)
+                   (if (macro-type #{val 957}#)
+                     (cons (macro-type #{val 957}#)
+                           (macro-binding #{val 957}#))
                      #f)
                    #f))
                #f)
              #f)))))
-   (#{decorate-source 261}#
-     (lambda (#{e 943}# #{s 944}#)
-       (begin
-         (if (if (pair? #{e 943}#) #{s 944}# #f)
-           (set-source-properties! #{e 943}# #{s 944}#))
-         #{e 943}#)))
-   (#{maybe-name-value! 263}#
-     (lambda (#{name 949}# #{val 950}#)
-       (if (#{lambda? 242}# #{val 950}#)
-         (let ((#{meta 954}# (#{lambda-meta 244}# #{val 950}#)))
-           (if (not (assq 'name #{meta 954}#))
-             (#{set-lambda-meta! 246}#
-               #{val 950}#
-               (cons (cons 'name #{name 949}#) #{meta 954}#)))))))
-   (#{build-void 265}#
-     (lambda (#{source 955}#)
-       (#{make-void 203}# #{source 955}#)))
-   (#{build-call 267}#
-     (lambda (#{source 957}# #{fun-exp 958}# #{arg-exps 959}#)
-       (#{make-call 225}#
-         #{source 957}#
-         #{fun-exp 958}#
-         #{arg-exps 959}#)))
-   (#{build-conditional 269}#
-     (lambda (#{source 963}#
-              #{test-exp 964}#
-              #{then-exp 965}#
-              #{else-exp 966}#)
-       (#{make-conditional 223}#
-         #{source 963}#
-         #{test-exp 964}#
-         #{then-exp 965}#
-         #{else-exp 966}#)))
-   (#{build-dynlet 271}#
-     (lambda (#{source 971}#
-              #{fluids 972}#
-              #{vals 973}#
-              #{body 974}#)
-       (#{make-dynlet 239}#
-         #{source 971}#
-         #{fluids 972}#
-         #{vals 973}#
-         #{body 974}#)))
-   (#{build-lexical-reference 273}#
-     (lambda (#{type 979}#
-              #{source 980}#
-              #{name 981}#
-              #{var 982}#)
-       (#{make-lexical-ref 209}#
-         #{source 980}#
-         #{name 981}#
-         #{var 982}#)))
-   (#{build-lexical-assignment 275}#
-     (lambda (#{source 987}#
-              #{name 988}#
-              #{var 989}#
-              #{exp 990}#)
+   (#{decorate-source 267}#
+     (lambda (#{e 961}# #{s 962}#)
        (begin
-         (#{maybe-name-value! 263}#
-           #{name 988}#
-           #{exp 990}#)
-         (#{make-lexical-set 211}#
-           #{source 987}#
-           #{name 988}#
-           #{var 989}#
-           #{exp 990}#))))
-   (#{analyze-variable 277}#
-     (lambda (#{mod 995}#
-              #{var 996}#
-              #{modref-cont 997}#
-              #{bare-cont 998}#)
-       (if (not #{mod 995}#)
-         (#{bare-cont 998}# #{var 996}#)
-         (let ((#{kind 1005}# (car #{mod 995}#))
-               (#{mod 1006}# (cdr #{mod 995}#)))
-           (if (memv #{kind 1005}# '(public))
-             (#{modref-cont 997}# #{mod 1006}# #{var 996}# #t)
-             (if (memv #{kind 1005}# '(private))
+         (if (if (pair? #{e 961}#) #{s 962}# #f)
+           (set-source-properties! #{e 961}# #{s 962}#))
+         #{e 961}#)))
+   (#{maybe-name-value! 269}#
+     (lambda (#{name 967}# #{val 968}#)
+       (if (#{lambda? 247}# #{val 968}#)
+         (let ((#{meta 972}# (#{lambda-meta 249}# #{val 968}#)))
+           (if (not (assq 'name #{meta 972}#))
+             (#{set-lambda-meta! 251}#
+               #{val 968}#
+               (cons (cons 'name #{name 967}#) #{meta 972}#)))))))
+   (#{build-void 271}#
+     (lambda (#{source 973}#)
+       (#{make-void 208}# #{source 973}#)))
+   (#{build-call 273}#
+     (lambda (#{source 975}# #{fun-exp 976}# #{arg-exps 977}#)
+       (#{make-call 230}#
+         #{source 975}#
+         #{fun-exp 976}#
+         #{arg-exps 977}#)))
+   (#{build-conditional 275}#
+     (lambda (#{source 981}#
+              #{test-exp 982}#
+              #{then-exp 983}#
+              #{else-exp 984}#)
+       (#{make-conditional 228}#
+         #{source 981}#
+         #{test-exp 982}#
+         #{then-exp 983}#
+         #{else-exp 984}#)))
+   (#{build-lexical-reference 279}#
+     (lambda (#{type 997}#
+              #{source 998}#
+              #{name 999}#
+              #{var 1000}#)
+       (#{make-lexical-ref 214}#
+         #{source 998}#
+         #{name 999}#
+         #{var 1000}#)))
+   (#{analyze-variable 283}#
+     (lambda (#{mod 1013}#
+              #{var 1014}#
+              #{modref-cont 1015}#
+              #{bare-cont 1016}#)
+       (if (not #{mod 1013}#)
+         (#{bare-cont 1016}# #{var 1014}#)
+         (let ((#{kind 1023}# (car #{mod 1013}#))
+               (#{mod 1024}# (cdr #{mod 1013}#)))
+           (if (memv #{kind 1023}# '(public))
+             (#{modref-cont 1015}#
+               #{mod 1024}#
+               #{var 1014}#
+               #t)
+             (if (memv #{kind 1023}# '(private))
                (if (not (equal?
-                          #{mod 1006}#
+                          #{mod 1024}#
                           (module-name (current-module))))
-                 (#{modref-cont 997}# #{mod 1006}# #{var 996}# #f)
-                 (#{bare-cont 998}# #{var 996}#))
-               (if (memv #{kind 1005}# '(bare))
-                 (#{bare-cont 998}# #{var 996}#)
-                 (if (memv #{kind 1005}# '(hygiene))
+                 (#{modref-cont 1015}#
+                   #{mod 1024}#
+                   #{var 1014}#
+                   #f)
+                 (#{bare-cont 1016}# #{var 1014}#))
+               (if (memv #{kind 1023}# '(bare))
+                 (#{bare-cont 1016}# #{var 1014}#)
+                 (if (memv #{kind 1023}# '(hygiene))
                    (if (if (not (equal?
-                                  #{mod 1006}#
+                                  #{mod 1024}#
                                   (module-name (current-module))))
                          (module-variable
-                           (resolve-module #{mod 1006}#)
-                           #{var 996}#)
+                           (resolve-module #{mod 1024}#)
+                           #{var 1014}#)
                          #f)
-                     (#{modref-cont 997}# #{mod 1006}# #{var 996}# #f)
-                     (#{bare-cont 998}# #{var 996}#))
+                     (#{modref-cont 1015}#
+                       #{mod 1024}#
+                       #{var 1014}#
+                       #f)
+                     (#{bare-cont 1016}# #{var 1014}#))
                    (syntax-violation
                      #f
                      "bad module kind"
-                     #{var 996}#
-                     #{mod 1006}#)))))))))
-   (#{build-global-reference 279}#
-     (lambda (#{source 1014}# #{var 1015}# #{mod 1016}#)
-       (#{analyze-variable 277}#
-         #{mod 1016}#
-         #{var 1015}#
-         (lambda (#{mod 1020}# #{var 1021}# #{public? 1022}#)
-           (#{make-module-ref 213}#
-             #{source 1014}#
-             #{mod 1020}#
-             #{var 1021}#
-             #{public? 1022}#))
-         (lambda (#{var 1026}#)
-           (#{make-toplevel-ref 217}#
-             #{source 1014}#
-             #{var 1026}#)))))
-   (#{build-global-assignment 281}#
-     (lambda (#{source 1028}#
-              #{var 1029}#
-              #{exp 1030}#
-              #{mod 1031}#)
+                     #{var 1014}#
+                     #{mod 1024}#)))))))))
+   (#{build-global-reference 285}#
+     (lambda (#{source 1032}# #{var 1033}# #{mod 1034}#)
+       (#{analyze-variable 283}#
+         #{mod 1034}#
+         #{var 1033}#
+         (lambda (#{mod 1038}# #{var 1039}# #{public? 1040}#)
+           (#{make-module-ref 218}#
+             #{source 1032}#
+             #{mod 1038}#
+             #{var 1039}#
+             #{public? 1040}#))
+         (lambda (#{var 1044}#)
+           (#{make-toplevel-ref 222}#
+             #{source 1032}#
+             #{var 1044}#)))))
+   (#{build-global-assignment 287}#
+     (lambda (#{source 1046}#
+              #{var 1047}#
+              #{exp 1048}#
+              #{mod 1049}#)
        (begin
-         (#{maybe-name-value! 263}#
-           #{var 1029}#
-           #{exp 1030}#)
-         (#{analyze-variable 277}#
-           #{mod 1031}#
-           #{var 1029}#
-           (lambda (#{mod 1036}# #{var 1037}# #{public? 1038}#)
-             (#{make-module-set 215}#
-               #{source 1028}#
-               #{mod 1036}#
-               #{var 1037}#
-               #{public? 1038}#
-               #{exp 1030}#))
-           (lambda (#{var 1042}#)
-             (#{make-toplevel-set 219}#
-               #{source 1028}#
-               #{var 1042}#
-               #{exp 1030}#))))))
-   (#{build-global-definition 283}#
-     (lambda (#{source 1044}# #{var 1045}# #{exp 1046}#)
+         (#{maybe-name-value! 269}#
+           #{var 1047}#
+           #{exp 1048}#)
+         (#{analyze-variable 283}#
+           #{mod 1049}#
+           #{var 1047}#
+           (lambda (#{mod 1054}# #{var 1055}# #{public? 1056}#)
+             (#{make-module-set 220}#
+               #{source 1046}#
+               #{mod 1054}#
+               #{var 1055}#
+               #{public? 1056}#
+               #{exp 1048}#))
+           (lambda (#{var 1060}#)
+             (#{make-toplevel-set 224}#
+               #{source 1046}#
+               #{var 1060}#
+               #{exp 1048}#))))))
+   (#{build-global-definition 289}#
+     (lambda (#{source 1062}# #{var 1063}# #{exp 1064}#)
        (begin
-         (#{maybe-name-value! 263}#
-           #{var 1045}#
-           #{exp 1046}#)
-         (#{make-toplevel-define 221}#
-           #{source 1044}#
-           #{var 1045}#
-           #{exp 1046}#))))
-   (#{build-simple-lambda 285}#
-     (lambda (#{src 1050}#
-              #{req 1051}#
-              #{rest 1052}#
-              #{vars 1053}#
-              #{meta 1054}#
-              #{exp 1055}#)
-       (#{make-lambda 231}#
-         #{src 1050}#
-         #{meta 1054}#
-         (#{make-lambda-case 233}#
-           #{src 1050}#
-           #{req 1051}#
+         (#{maybe-name-value! 269}#
+           #{var 1063}#
+           #{exp 1064}#)
+         (#{make-toplevel-define 226}#
+           #{source 1062}#
+           #{var 1063}#
+           #{exp 1064}#))))
+   (#{build-simple-lambda 291}#
+     (lambda (#{src 1068}#
+              #{req 1069}#
+              #{rest 1070}#
+              #{vars 1071}#
+              #{meta 1072}#
+              #{exp 1073}#)
+       (#{make-lambda 236}#
+         #{src 1068}#
+         #{meta 1072}#
+         (#{make-lambda-case 238}#
+           #{src 1068}#
+           #{req 1069}#
            #f
-           #{rest 1052}#
+           #{rest 1070}#
            #f
            '()
-           #{vars 1053}#
-           #{exp 1055}#
+           #{vars 1071}#
+           #{exp 1073}#
            #f))))
-   (#{build-case-lambda 287}#
-     (lambda (#{src 1062}# #{meta 1063}# #{body 1064}#)
-       (#{make-lambda 231}#
-         #{src 1062}#
-         #{meta 1063}#
-         #{body 1064}#)))
-   (#{build-lambda-case 289}#
-     (lambda (#{src 1068}#
-              #{req 1069}#
-              #{opt 1070}#
-              #{rest 1071}#
-              #{kw 1072}#
-              #{inits 1073}#
-              #{vars 1074}#
-              #{body 1075}#
-              #{else-case 1076}#)
-       (#{make-lambda-case 233}#
-         #{src 1068}#
-         #{req 1069}#
-         #{opt 1070}#
-         #{rest 1071}#
-         #{kw 1072}#
-         #{inits 1073}#
-         #{vars 1074}#
-         #{body 1075}#
-         #{else-case 1076}#)))
-   (#{build-primcall 291}#
-     (lambda (#{src 1086}# #{name 1087}# #{args 1088}#)
-       (#{make-primcall 227}#
+   (#{build-lambda-case 295}#
+     (lambda (#{src 1086}#
+              #{req 1087}#
+              #{opt 1088}#
+              #{rest 1089}#
+              #{kw 1090}#
+              #{inits 1091}#
+              #{vars 1092}#
+              #{body 1093}#
+              #{else-case 1094}#)
+       (#{make-lambda-case 238}#
          #{src 1086}#
-         #{name 1087}#
-         #{args 1088}#)))
-   (#{build-primref 293}#
-     (lambda (#{src 1092}# #{name 1093}#)
-       (#{make-primitive-ref 207}#
-         #{src 1092}#
-         #{name 1093}#)))
-   (#{build-data 295}#
-     (lambda (#{src 1096}# #{exp 1097}#)
-       (#{make-const 205}# #{src 1096}# #{exp 1097}#)))
-   (#{build-sequence 297}#
-     (lambda (#{src 1100}# #{exps 1101}#)
-       (if (null? (cdr #{exps 1101}#))
-         (car #{exps 1101}#)
-         (#{make-seq 229}#
-           #{src 1100}#
-           (car #{exps 1101}#)
-           (#{build-sequence 297}# #f (cdr #{exps 1101}#))))))
-   (#{build-let 299}#
-     (lambda (#{src 1104}#
-              #{ids 1105}#
-              #{vars 1106}#
-              #{val-exps 1107}#
-              #{body-exp 1108}#)
-       (begin
-         (for-each
-           #{maybe-name-value! 263}#
-           #{ids 1105}#
-           #{val-exps 1107}#)
-         (if (null? #{vars 1106}#)
-           #{body-exp 1108}#
-           (#{make-let 235}#
-             #{src 1104}#
-             #{ids 1105}#
-             #{vars 1106}#
-             #{val-exps 1107}#
-             #{body-exp 1108}#)))))
-   (#{build-named-let 301}#
-     (lambda (#{src 1114}#
-              #{ids 1115}#
-              #{vars 1116}#
-              #{val-exps 1117}#
-              #{body-exp 1118}#)
-       (let ((#{f 1128}# (car #{vars 1116}#))
-             (#{f-name 1129}# (car #{ids 1115}#))
-             (#{vars 1130}# (cdr #{vars 1116}#))
-             (#{ids 1131}# (cdr #{ids 1115}#)))
-         (let ((#{proc 1133}#
-                 (#{build-simple-lambda 285}#
-                   #{src 1114}#
-                   #{ids 1131}#
-                   #f
-                   #{vars 1130}#
-                   '()
-                   #{body-exp 1118}#)))
-           (begin
-             (#{maybe-name-value! 263}#
-               #{f-name 1129}#
-               #{proc 1133}#)
-             (for-each
-               #{maybe-name-value! 263}#
-               #{ids 1131}#
-               #{val-exps 1117}#)
-             (#{make-letrec 237}#
-               #{src 1114}#
-               #f
-               (list #{f-name 1129}#)
-               (list #{f 1128}#)
-               (list #{proc 1133}#)
-               (#{build-call 267}#
-                 #{src 1114}#
-                 (#{build-lexical-reference 273}#
-                   'fun
-                   #{src 1114}#
-                   #{f-name 1129}#
-                   #{f 1128}#)
-                 #{val-exps 1117}#)))))))
-   (#{build-letrec 303}#
-     (lambda (#{src 1134}#
-              #{in-order? 1135}#
-              #{ids 1136}#
-              #{vars 1137}#
-              #{val-exps 1138}#
-              #{body-exp 1139}#)
-       (if (null? #{vars 1137}#)
-         #{body-exp 1139}#
+         #{req 1087}#
+         #{opt 1088}#
+         #{rest 1089}#
+         #{kw 1090}#
+         #{inits 1091}#
+         #{vars 1092}#
+         #{body 1093}#
+         #{else-case 1094}#)))
+   (#{build-primcall 297}#
+     (lambda (#{src 1104}# #{name 1105}# #{args 1106}#)
+       (#{make-primcall 232}#
+         #{src 1104}#
+         #{name 1105}#
+         #{args 1106}#)))
+   (#{build-data 301}#
+     (lambda (#{src 1114}# #{exp 1115}#)
+       (#{make-const 210}# #{src 1114}# #{exp 1115}#)))
+   (#{build-sequence 303}#
+     (lambda (#{src 1118}# #{exps 1119}#)
+       (if (null? (cdr #{exps 1119}#))
+         (car #{exps 1119}#)
+         (#{make-seq 234}#
+           #{src 1118}#
+           (car #{exps 1119}#)
+           (#{build-sequence 303}# #f (cdr #{exps 1119}#))))))
+   (#{build-letrec 309}#
+     (lambda (#{src 1152}#
+              #{in-order? 1153}#
+              #{ids 1154}#
+              #{vars 1155}#
+              #{val-exps 1156}#
+              #{body-exp 1157}#)
+       (if (null? #{vars 1155}#)
+         #{body-exp 1157}#
          (begin
            (for-each
-             #{maybe-name-value! 263}#
-             #{ids 1136}#
-             #{val-exps 1138}#)
-           (#{make-letrec 237}#
-             #{src 1134}#
-             #{in-order? 1135}#
-             #{ids 1136}#
-             #{vars 1137}#
-             #{val-exps 1138}#
-             #{body-exp 1139}#)))))
-   (#{make-syntax-object 307}#
-     (lambda (#{expression 1146}#
-              #{wrap 1147}#
-              #{module 1148}#)
+             #{maybe-name-value! 269}#
+             #{ids 1154}#
+             #{val-exps 1156}#)
+           (#{make-letrec 242}#
+             #{src 1152}#
+             #{in-order? 1153}#
+             #{ids 1154}#
+             #{vars 1155}#
+             #{val-exps 1156}#
+             #{body-exp 1157}#)))))
+   (#{make-syntax-object 314}#
+     (lambda (#{expression 1164}#
+              #{wrap 1165}#
+              #{module 1166}#)
        (vector
          'syntax-object
-         #{expression 1146}#
-         #{wrap 1147}#
-         #{module 1148}#)))
-   (#{syntax-object? 309}#
-     (lambda (#{x 1152}#)
-       (if (vector? #{x 1152}#)
-         (if (= (vector-length #{x 1152}#) 4)
-           (eq? (vector-ref #{x 1152}# 0) 'syntax-object)
+         #{expression 1164}#
+         #{wrap 1165}#
+         #{module 1166}#)))
+   (#{syntax-object? 316}#
+     (lambda (#{x 1170}#)
+       (if (vector? #{x 1170}#)
+         (if (= (vector-length #{x 1170}#) 4)
+           (eq? (vector-ref #{x 1170}# 0) 'syntax-object)
            #f)
          #f)))
-   (#{syntax-object-expression 311}#
-     (lambda (#{x 1157}#) (vector-ref #{x 1157}# 1)))
-   (#{syntax-object-wrap 313}#
-     (lambda (#{x 1159}#) (vector-ref #{x 1159}# 2)))
-   (#{syntax-object-module 315}#
-     (lambda (#{x 1161}#) (vector-ref #{x 1161}# 3)))
-   (#{source-annotation 324}#
-     (lambda (#{x 1175}#)
-       (if (#{syntax-object? 309}# #{x 1175}#)
-         (#{source-annotation 324}#
-           (#{syntax-object-expression 311}# #{x 1175}#))
-         (if (pair? #{x 1175}#)
-           (let ((#{props 1182}# (source-properties #{x 1175}#)))
-             (if (pair? #{props 1182}#) #{props 1182}# #f))
+   (#{syntax-object-expression 318}#
+     (lambda (#{x 1175}#) (vector-ref #{x 1175}# 1)))
+   (#{syntax-object-wrap 320}#
+     (lambda (#{x 1177}#) (vector-ref #{x 1177}# 2)))
+   (#{syntax-object-module 322}#
+     (lambda (#{x 1179}#) (vector-ref #{x 1179}# 3)))
+   (#{source-annotation 331}#
+     (lambda (#{x 1193}#)
+       (if (#{syntax-object? 316}# #{x 1193}#)
+         (#{source-annotation 331}#
+           (#{syntax-object-expression 318}# #{x 1193}#))
+         (if (pair? #{x 1193}#)
+           (let ((#{props 1200}# (source-properties #{x 1193}#)))
+             (if (pair? #{props 1200}#) #{props 1200}# #f))
            #f))))
-   (#{extend-env 331}#
-     (lambda (#{labels 1184}# #{bindings 1185}# #{r 1186}#)
-       (if (null? #{labels 1184}#)
-         #{r 1186}#
-         (#{extend-env 331}#
-           (cdr #{labels 1184}#)
-           (cdr #{bindings 1185}#)
-           (cons (cons (car #{labels 1184}#)
-                       (car #{bindings 1185}#))
-                 #{r 1186}#)))))
-   (#{extend-var-env 333}#
-     (lambda (#{labels 1190}# #{vars 1191}# #{r 1192}#)
-       (if (null? #{labels 1190}#)
-         #{r 1192}#
-         (#{extend-var-env 333}#
-           (cdr #{labels 1190}#)
-           (cdr #{vars 1191}#)
-           (cons (cons (car #{labels 1190}#)
-                       (cons 'lexical (car #{vars 1191}#)))
-                 #{r 1192}#)))))
-   (#{macros-only-env 335}#
-     (lambda (#{r 1197}#)
-       (if (null? #{r 1197}#)
+   (#{extend-env 341}#
+     (lambda (#{labels 1202}# #{bindings 1203}# #{r 1204}#)
+       (if (null? #{labels 1202}#)
+         #{r 1204}#
+         (#{extend-env 341}#
+           (cdr #{labels 1202}#)
+           (cdr #{bindings 1203}#)
+           (cons (cons (car #{labels 1202}#)
+                       (car #{bindings 1203}#))
+                 #{r 1204}#)))))
+   (#{extend-var-env 343}#
+     (lambda (#{labels 1208}# #{vars 1209}# #{r 1210}#)
+       (if (null? #{labels 1208}#)
+         #{r 1210}#
+         (#{extend-var-env 343}#
+           (cdr #{labels 1208}#)
+           (cdr #{vars 1209}#)
+           (cons (cons (car #{labels 1208}#)
+                       (cons 'lexical (car #{vars 1209}#)))
+                 #{r 1210}#)))))
+   (#{macros-only-env 345}#
+     (lambda (#{r 1215}#)
+       (if (null? #{r 1215}#)
          '()
-         (let ((#{a 1200}# (car #{r 1197}#)))
-           (if (eq? (car (cdr #{a 1200}#)) 'macro)
-             (cons #{a 1200}#
-                   (#{macros-only-env 335}# (cdr #{r 1197}#)))
-             (#{macros-only-env 335}# (cdr #{r 1197}#)))))))
-   (#{lookup 337}#
-     (lambda (#{x 1201}# #{r 1202}# #{mod 1203}#)
-       (let ((#{t 1209}# (assq #{x 1201}# #{r 1202}#)))
-         (if #{t 1209}#
-           (cdr #{t 1209}#)
-           (if (symbol? #{x 1201}#)
-             (let ((#{t 1215}#
-                     (#{get-global-definition-hook 259}#
-                       #{x 1201}#
-                       #{mod 1203}#)))
-               (if #{t 1215}# #{t 1215}# '(global)))
+         (let ((#{a 1218}# (car #{r 1215}#)))
+           (if (eq? (car (cdr #{a 1218}#)) 'macro)
+             (cons #{a 1218}#
+                   (#{macros-only-env 345}# (cdr #{r 1215}#)))
+             (#{macros-only-env 345}# (cdr #{r 1215}#)))))))
+   (#{lookup 347}#
+     (lambda (#{x 1219}# #{r 1220}# #{mod 1221}#)
+       (let ((#{t 1227}# (assq #{x 1219}# #{r 1220}#)))
+         (if #{t 1227}#
+           (cdr #{t 1227}#)
+           (if (symbol? #{x 1219}#)
+             (let ((#{t 1233}#
+                     (#{get-global-definition-hook 265}#
+                       #{x 1219}#
+                       #{mod 1221}#)))
+               (if #{t 1233}# #{t 1233}# '(global)))
              '(displaced-lexical))))))
-   (#{global-extend 339}#
-     (lambda (#{type 1220}# #{sym 1221}# #{val 1222}#)
-       (#{put-global-definition-hook 257}#
-         #{sym 1221}#
-         #{type 1220}#
-         #{val 1222}#)))
-   (#{nonsymbol-id? 341}#
-     (lambda (#{x 1226}#)
-       (if (#{syntax-object? 309}# #{x 1226}#)
+   (#{global-extend 349}#
+     (lambda (#{type 1238}# #{sym 1239}# #{val 1240}#)
+       (#{put-global-definition-hook 263}#
+         #{sym 1239}#
+         #{type 1238}#
+         #{val 1240}#)))
+   (#{nonsymbol-id? 351}#
+     (lambda (#{x 1244}#)
+       (if (#{syntax-object? 316}# #{x 1244}#)
          (symbol?
-           (#{syntax-object-expression 311}# #{x 1226}#))
+           (#{syntax-object-expression 318}# #{x 1244}#))
          #f)))
-   (#{id? 343}#
-     (lambda (#{x 1230}#)
-       (if (symbol? #{x 1230}#)
+   (#{id? 353}#
+     (lambda (#{x 1248}#)
+       (if (symbol? #{x 1248}#)
          #t
-         (if (#{syntax-object? 309}# #{x 1230}#)
+         (if (#{syntax-object? 316}# #{x 1248}#)
            (symbol?
-             (#{syntax-object-expression 311}# #{x 1230}#))
+             (#{syntax-object-expression 318}# #{x 1248}#))
            #f))))
-   (#{id-sym-name&marks 346}#
-     (lambda (#{x 1237}# #{w 1238}#)
-       (if (#{syntax-object? 309}# #{x 1237}#)
+   (#{id-sym-name&marks 357}#
+     (lambda (#{x 1255}# #{w 1256}#)
+       (if (#{syntax-object? 316}# #{x 1255}#)
          (values
-           (#{syntax-object-expression 311}# #{x 1237}#)
-           (#{join-marks 393}#
-             (car #{w 1238}#)
-             (car (#{syntax-object-wrap 313}# #{x 1237}#))))
-         (values #{x 1237}# (car #{w 1238}#)))))
-   (#{gen-label 356}#
+           (#{syntax-object-expression 318}# #{x 1255}#)
+           (#{join-marks 411}#
+             (car #{w 1256}#)
+             (car (#{syntax-object-wrap 320}# #{x 1255}#))))
+         (values #{x 1255}# (car #{w 1256}#)))))
+   (#{gen-label 371}#
      (lambda () (symbol->string (gensym "i"))))
-   (#{gen-labels 358}#
-     (lambda (#{ls 1244}#)
-       (if (null? #{ls 1244}#)
+   (#{gen-labels 373}#
+     (lambda (#{ls 1262}#)
+       (if (null? #{ls 1262}#)
          '()
-         (cons (#{gen-label 356}#)
-               (#{gen-labels 358}# (cdr #{ls 1244}#))))))
-   (#{make-ribcage 361}#
-     (lambda (#{symnames 1246}#
-              #{marks 1247}#
-              #{labels 1248}#)
+         (cons (#{gen-label 371}#)
+               (#{gen-labels 373}# (cdr #{ls 1262}#))))))
+   (#{make-ribcage 376}#
+     (lambda (#{symnames 1264}#
+              #{marks 1265}#
+              #{labels 1266}#)
        (vector
          'ribcage
-         #{symnames 1246}#
-         #{marks 1247}#
-         #{labels 1248}#)))
-   (#{ribcage-symnames 365}#
-     (lambda (#{x 1257}#) (vector-ref #{x 1257}# 1)))
-   (#{ribcage-marks 367}#
-     (lambda (#{x 1259}#) (vector-ref #{x 1259}# 2)))
-   (#{ribcage-labels 369}#
-     (lambda (#{x 1261}#) (vector-ref #{x 1261}# 3)))
-   (#{set-ribcage-symnames! 371}#
-     (lambda (#{x 1263}# #{update 1264}#)
-       (vector-set! #{x 1263}# 1 #{update 1264}#)))
-   (#{set-ribcage-marks! 373}#
-     (lambda (#{x 1267}# #{update 1268}#)
-       (vector-set! #{x 1267}# 2 #{update 1268}#)))
-   (#{set-ribcage-labels! 375}#
-     (lambda (#{x 1271}# #{update 1272}#)
-       (vector-set! #{x 1271}# 3 #{update 1272}#)))
-   (#{anti-mark 381}#
-     (lambda (#{w 1275}#)
-       (cons (cons #f (car #{w 1275}#))
-             (cons 'shift (cdr #{w 1275}#)))))
-   (#{extend-ribcage! 385}#
-     (lambda (#{ribcage 1281}# #{id 1282}# #{label 1283}#)
+         #{symnames 1264}#
+         #{marks 1265}#
+         #{labels 1266}#)))
+   (#{ribcage-symnames 380}#
+     (lambda (#{x 1275}#) (vector-ref #{x 1275}# 1)))
+   (#{ribcage-marks 382}#
+     (lambda (#{x 1277}#) (vector-ref #{x 1277}# 2)))
+   (#{ribcage-labels 384}#
+     (lambda (#{x 1279}#) (vector-ref #{x 1279}# 3)))
+   (#{set-ribcage-symnames! 386}#
+     (lambda (#{x 1281}# #{update 1282}#)
+       (vector-set! #{x 1281}# 1 #{update 1282}#)))
+   (#{set-ribcage-marks! 388}#
+     (lambda (#{x 1285}# #{update 1286}#)
+       (vector-set! #{x 1285}# 2 #{update 1286}#)))
+   (#{set-ribcage-labels! 390}#
+     (lambda (#{x 1289}# #{update 1290}#)
+       (vector-set! #{x 1289}# 3 #{update 1290}#)))
+   (#{anti-mark 397}#
+     (lambda (#{w 1293}#)
+       (cons (cons #f (car #{w 1293}#))
+             (cons 'shift (cdr #{w 1293}#)))))
+   (#{extend-ribcage! 403}#
+     (lambda (#{ribcage 1299}# #{id 1300}# #{label 1301}#)
        (begin
-         (#{set-ribcage-symnames! 371}#
-           #{ribcage 1281}#
-           (cons (#{syntax-object-expression 311}# #{id 1282}#)
-                 (#{ribcage-symnames 365}# #{ribcage 1281}#)))
-         (#{set-ribcage-marks! 373}#
-           #{ribcage 1281}#
-           (cons (car (#{syntax-object-wrap 313}# #{id 1282}#))
-                 (#{ribcage-marks 367}# #{ribcage 1281}#)))
-         (#{set-ribcage-labels! 375}#
-           #{ribcage 1281}#
-           (cons #{label 1283}#
-                 (#{ribcage-labels 369}# #{ribcage 1281}#))))))
-   (#{make-binding-wrap 387}#
-     (lambda (#{ids 1288}# #{labels 1289}# #{w 1290}#)
-       (if (null? #{ids 1288}#)
-         #{w 1290}#
-         (cons (car #{w 1290}#)
-               (cons (let ((#{labelvec 1297}#
-                             (list->vector #{labels 1289}#)))
-                       (let ((#{n 1299}# (vector-length #{labelvec 1297}#)))
-                         (let ((#{symnamevec 1302}# (make-vector #{n 1299}#))
-                               (#{marksvec 1303}# (make-vector #{n 1299}#)))
+         (#{set-ribcage-symnames! 386}#
+           #{ribcage 1299}#
+           (cons (#{syntax-object-expression 318}# #{id 1300}#)
+                 (#{ribcage-symnames 380}# #{ribcage 1299}#)))
+         (#{set-ribcage-marks! 388}#
+           #{ribcage 1299}#
+           (cons (car (#{syntax-object-wrap 320}# #{id 1300}#))
+                 (#{ribcage-marks 382}# #{ribcage 1299}#)))
+         (#{set-ribcage-labels! 390}#
+           #{ribcage 1299}#
+           (cons #{label 1301}#
+                 (#{ribcage-labels 384}# #{ribcage 1299}#))))))
+   (#{make-binding-wrap 405}#
+     (lambda (#{ids 1306}# #{labels 1307}# #{w 1308}#)
+       (if (null? #{ids 1306}#)
+         #{w 1308}#
+         (cons (car #{w 1308}#)
+               (cons (let ((#{labelvec 1315}#
+                             (list->vector #{labels 1307}#)))
+                       (let ((#{n 1317}# (vector-length #{labelvec 1315}#)))
+                         (let ((#{symnamevec 1320}# (make-vector #{n 1317}#))
+                               (#{marksvec 1321}# (make-vector #{n 1317}#)))
                            (begin
                              (letrec*
-                               ((#{f 1307}#
-                                  (lambda (#{ids 1308}# #{i 1309}#)
-                                    (if (not (null? #{ids 1308}#))
+                               ((#{f 1325}#
+                                  (lambda (#{ids 1326}# #{i 1327}#)
+                                    (if (not (null? #{ids 1326}#))
                                       (call-with-values
                                         (lambda ()
-                                          (#{id-sym-name&marks 346}#
-                                            (car #{ids 1308}#)
-                                            #{w 1290}#))
-                                        (lambda (#{symname 1310}#
-                                                 #{marks 1311}#)
+                                          (#{id-sym-name&marks 357}#
+                                            (car #{ids 1326}#)
+                                            #{w 1308}#))
+                                        (lambda (#{symname 1328}#
+                                                 #{marks 1329}#)
                                           (begin
                                             (vector-set!
-                                              #{symnamevec 1302}#
-                                              #{i 1309}#
-                                              #{symname 1310}#)
+                                              #{symnamevec 1320}#
+                                              #{i 1327}#
+                                              #{symname 1328}#)
                                             (vector-set!
-                                              #{marksvec 1303}#
-                                              #{i 1309}#
-                                              #{marks 1311}#)
-                                            (#{f 1307}#
-                                              (cdr #{ids 1308}#)
-                                              (#{1+}# #{i 1309}#)))))))))
-                               (#{f 1307}# #{ids 1288}# 0))
-                             (#{make-ribcage 361}#
-                               #{symnamevec 1302}#
-                               #{marksvec 1303}#
-                               #{labelvec 1297}#)))))
-                     (cdr #{w 1290}#))))))
-   (#{smart-append 389}#
-     (lambda (#{m1 1316}# #{m2 1317}#)
-       (if (null? #{m2 1317}#)
-         #{m1 1316}#
-         (append #{m1 1316}# #{m2 1317}#))))
-   (#{join-wraps 391}#
-     (lambda (#{w1 1320}# #{w2 1321}#)
-       (let ((#{m1 1326}# (car #{w1 1320}#))
-             (#{s1 1327}# (cdr #{w1 1320}#)))
-         (if (null? #{m1 1326}#)
-           (if (null? #{s1 1327}#)
-             #{w2 1321}#
-             (cons (car #{w2 1321}#)
-                   (#{smart-append 389}#
-                     #{s1 1327}#
-                     (cdr #{w2 1321}#))))
-           (cons (#{smart-append 389}#
-                   #{m1 1326}#
-                   (car #{w2 1321}#))
-                 (#{smart-append 389}#
-                   #{s1 1327}#
-                   (cdr #{w2 1321}#)))))))
-   (#{join-marks 393}#
-     (lambda (#{m1 1336}# #{m2 1337}#)
-       (#{smart-append 389}# #{m1 1336}# #{m2 1337}#)))
-   (#{same-marks? 395}#
-     (lambda (#{x 1340}# #{y 1341}#)
-       (let ((#{t 1346}# (eq? #{x 1340}# #{y 1341}#)))
-         (if #{t 1346}#
-           #{t 1346}#
-           (if (not (null? #{x 1340}#))
-             (if (not (null? #{y 1341}#))
-               (if (eq? (car #{x 1340}#) (car #{y 1341}#))
-                 (#{same-marks? 395}#
-                   (cdr #{x 1340}#)
-                   (cdr #{y 1341}#))
-                 #f)
+                                              #{marksvec 1321}#
+                                              #{i 1327}#
+                                              #{marks 1329}#)
+                                            (#{f 1325}#
+                                              (cdr #{ids 1326}#)
+                                              (#{1+}# #{i 1327}#)))))))))
+                               (#{f 1325}# #{ids 1306}# 0))
+                             (#{make-ribcage 376}#
+                               #{symnamevec 1320}#
+                               #{marksvec 1321}#
+                               #{labelvec 1315}#)))))
+                     (cdr #{w 1308}#))))))
+   (#{smart-append 407}#
+     (lambda (#{m1 1334}# #{m2 1335}#)
+       (if (null? #{m2 1335}#)
+         #{m1 1334}#
+         (append #{m1 1334}# #{m2 1335}#))))
+   (#{join-wraps 409}#
+     (lambda (#{w1 1338}# #{w2 1339}#)
+       (let ((#{m1 1344}# (car #{w1 1338}#))
+             (#{s1 1345}# (cdr #{w1 1338}#)))
+         (if (null? #{m1 1344}#)
+           (if (null? #{s1 1345}#)
+             #{w2 1339}#
+             (cons (car #{w2 1339}#)
+                   (#{smart-append 407}#
+                     #{s1 1345}#
+                     (cdr #{w2 1339}#))))
+           (cons (#{smart-append 407}#
+                   #{m1 1344}#
+                   (car #{w2 1339}#))
+                 (#{smart-append 407}#
+                   #{s1 1345}#
+                   (cdr #{w2 1339}#)))))))
+   (#{join-marks 411}#
+     (lambda (#{m1 1354}# #{m2 1355}#)
+       (#{smart-append 407}# #{m1 1354}# #{m2 1355}#)))
+   (#{same-marks? 413}#
+     (lambda (#{x 1358}# #{y 1359}#)
+       (if (eq? #{x 1358}# #{y 1359}#)
+         (eq? #{x 1358}# #{y 1359}#)
+         (if (not (null? #{x 1358}#))
+           (if (not (null? #{y 1359}#))
+             (if (eq? (car #{x 1358}#) (car #{y 1359}#))
+               (#{same-marks? 413}#
+                 (cdr #{x 1358}#)
+                 (cdr #{y 1359}#))
                #f)
-             #f)))))
-   (#{id-var-name 397}#
-     (lambda (#{id 1352}# #{w 1353}#)
+             #f)
+           #f))))
+   (#{id-var-name 415}#
+     (lambda (#{id 1370}# #{w 1371}#)
        (letrec*
-         ((#{search 1358}#
-            (lambda (#{sym 1374}# #{subst 1375}# #{marks 1376}#)
-              (if (null? #{subst 1375}#)
-                (values #f #{marks 1376}#)
-                (let ((#{fst 1381}# (car #{subst 1375}#)))
-                  (if (eq? #{fst 1381}# 'shift)
-                    (#{search 1358}#
-                      #{sym 1374}#
-                      (cdr #{subst 1375}#)
-                      (cdr #{marks 1376}#))
-                    (let ((#{symnames 1383}#
-                            (#{ribcage-symnames 365}# #{fst 1381}#)))
-                      (if (vector? #{symnames 1383}#)
-                        (#{search-vector-rib 1362}#
-                          #{sym 1374}#
-                          #{subst 1375}#
-                          #{marks 1376}#
-                          #{symnames 1383}#
-                          #{fst 1381}#)
-                        (#{search-list-rib 1360}#
-                          #{sym 1374}#
-                          #{subst 1375}#
-                          #{marks 1376}#
-                          #{symnames 1383}#
-                          #{fst 1381}#))))))))
-          (#{search-list-rib 1360}#
-            (lambda (#{sym 1384}#
-                     #{subst 1385}#
-                     #{marks 1386}#
-                     #{symnames 1387}#
-                     #{ribcage 1388}#)
+         ((#{search 1377}#
+            (lambda (#{sym 1393}# #{subst 1394}# #{marks 1395}#)
+              (if (null? #{subst 1394}#)
+                (values #f #{marks 1395}#)
+                (let ((#{fst 1400}# (car #{subst 1394}#)))
+                  (if (eq? #{fst 1400}# 'shift)
+                    (#{search 1377}#
+                      #{sym 1393}#
+                      (cdr #{subst 1394}#)
+                      (cdr #{marks 1395}#))
+                    (let ((#{symnames 1402}#
+                            (#{ribcage-symnames 380}# #{fst 1400}#)))
+                      (if (vector? #{symnames 1402}#)
+                        (#{search-vector-rib 1381}#
+                          #{sym 1393}#
+                          #{subst 1394}#
+                          #{marks 1395}#
+                          #{symnames 1402}#
+                          #{fst 1400}#)
+                        (#{search-list-rib 1379}#
+                          #{sym 1393}#
+                          #{subst 1394}#
+                          #{marks 1395}#
+                          #{symnames 1402}#
+                          #{fst 1400}#))))))))
+          (#{search-list-rib 1379}#
+            (lambda (#{sym 1403}#
+                     #{subst 1404}#
+                     #{marks 1405}#
+                     #{symnames 1406}#
+                     #{ribcage 1407}#)
               (letrec*
-                ((#{f 1397}#
-                   (lambda (#{symnames 1398}# #{i 1399}#)
-                     (if (null? #{symnames 1398}#)
-                       (#{search 1358}#
-                         #{sym 1384}#
-                         (cdr #{subst 1385}#)
-                         #{marks 1386}#)
-                       (if (if (eq? (car #{symnames 1398}#) #{sym 1384}#)
-                             (#{same-marks? 395}#
-                               #{marks 1386}#
+                ((#{f 1416}#
+                   (lambda (#{symnames 1417}# #{i 1418}#)
+                     (if (null? #{symnames 1417}#)
+                       (#{search 1377}#
+                         #{sym 1403}#
+                         (cdr #{subst 1404}#)
+                         #{marks 1405}#)
+                       (if (if (eq? (car #{symnames 1417}#) #{sym 1403}#)
+                             (#{same-marks? 413}#
+                               #{marks 1405}#
                                (list-ref
-                                 (#{ribcage-marks 367}# #{ribcage 1388}#)
-                                 #{i 1399}#))
+                                 (#{ribcage-marks 382}# #{ribcage 1407}#)
+                                 #{i 1418}#))
                              #f)
                          (values
                            (list-ref
-                             (#{ribcage-labels 369}# #{ribcage 1388}#)
-                             #{i 1399}#)
-                           #{marks 1386}#)
-                         (#{f 1397}#
-                           (cdr #{symnames 1398}#)
-                           (#{1+}# #{i 1399}#)))))))
-                (#{f 1397}# #{symnames 1387}# 0))))
-          (#{search-vector-rib 1362}#
-            (lambda (#{sym 1408}#
-                     #{subst 1409}#
-                     #{marks 1410}#
-                     #{symnames 1411}#
-                     #{ribcage 1412}#)
-              (let ((#{n 1419}# (vector-length #{symnames 1411}#)))
+                             (#{ribcage-labels 384}# #{ribcage 1407}#)
+                             #{i 1418}#)
+                           #{marks 1405}#)
+                         (#{f 1416}#
+                           (cdr #{symnames 1417}#)
+                           (#{1+}# #{i 1418}#)))))))
+                (#{f 1416}# #{symnames 1406}# 0))))
+          (#{search-vector-rib 1381}#
+            (lambda (#{sym 1427}#
+                     #{subst 1428}#
+                     #{marks 1429}#
+                     #{symnames 1430}#
+                     #{ribcage 1431}#)
+              (let ((#{n 1438}# (vector-length #{symnames 1430}#)))
                 (letrec*
-                  ((#{f 1422}#
-                     (lambda (#{i 1423}#)
-                       (if (= #{i 1423}# #{n 1419}#)
-                         (#{search 1358}#
-                           #{sym 1408}#
-                           (cdr #{subst 1409}#)
-                           #{marks 1410}#)
-                         (if (if (eq? (vector-ref #{symnames 1411}# #{i 1423}#)
-                                      #{sym 1408}#)
-                               (#{same-marks? 395}#
-                                 #{marks 1410}#
+                  ((#{f 1441}#
+                     (lambda (#{i 1442}#)
+                       (if (= #{i 1442}# #{n 1438}#)
+                         (#{search 1377}#
+                           #{sym 1427}#
+                           (cdr #{subst 1428}#)
+                           #{marks 1429}#)
+                         (if (if (eq? (vector-ref #{symnames 1430}# #{i 1442}#)
+                                      #{sym 1427}#)
+                               (#{same-marks? 413}#
+                                 #{marks 1429}#
                                  (vector-ref
-                                   (#{ribcage-marks 367}# #{ribcage 1412}#)
-                                   #{i 1423}#))
+                                   (#{ribcage-marks 382}# #{ribcage 1431}#)
+                                   #{i 1442}#))
                                #f)
                            (values
                              (vector-ref
-                               (#{ribcage-labels 369}# #{ribcage 1412}#)
-                               #{i 1423}#)
-                             #{marks 1410}#)
-                           (#{f 1422}# (#{1+}# #{i 1423}#)))))))
-                  (#{f 1422}# 0))))))
-         (if (symbol? #{id 1352}#)
-           (let ((#{t 1435}#
-                   (#{search 1358}#
-                     #{id 1352}#
-                     (cdr #{w 1353}#)
-                     (car #{w 1353}#))))
-             (if #{t 1435}# #{t 1435}# #{id 1352}#))
-           (if (#{syntax-object? 309}# #{id 1352}#)
-             (let ((#{id 1444}#
-                     (#{syntax-object-expression 311}# #{id 1352}#))
-                   (#{w1 1445}#
-                     (#{syntax-object-wrap 313}# #{id 1352}#)))
-               (let ((#{marks 1447}#
-                       (#{join-marks 393}#
-                         (car #{w 1353}#)
-                         (car #{w1 1445}#))))
+                               (#{ribcage-labels 384}# #{ribcage 1431}#)
+                               #{i 1442}#)
+                             #{marks 1429}#)
+                           (#{f 1441}# (#{1+}# #{i 1442}#)))))))
+                  (#{f 1441}# 0))))))
+         (if (symbol? #{id 1370}#)
+           (let ((#{t 1454}#
+                   (#{search 1377}#
+                     #{id 1370}#
+                     (cdr #{w 1371}#)
+                     (car #{w 1371}#))))
+             (if #{t 1454}# #{t 1454}# #{id 1370}#))
+           (if (#{syntax-object? 316}# #{id 1370}#)
+             (let ((#{id 1463}#
+                     (#{syntax-object-expression 318}# #{id 1370}#))
+                   (#{w1 1464}#
+                     (#{syntax-object-wrap 320}# #{id 1370}#)))
+               (let ((#{marks 1466}#
+                       (#{join-marks 411}#
+                         (car #{w 1371}#)
+                         (car #{w1 1464}#))))
                  (call-with-values
                    (lambda ()
-                     (#{search 1358}#
-                       #{id 1444}#
-                       (cdr #{w 1353}#)
-                       #{marks 1447}#))
-                   (lambda (#{new-id 1451}# #{marks 1452}#)
-                     (let ((#{t 1457}# #{new-id 1451}#))
-                       (if #{t 1457}#
-                         #{t 1457}#
-                         (let ((#{t 1460}#
-                                 (#{search 1358}#
-                                   #{id 1444}#
-                                   (cdr #{w1 1445}#)
-                                   #{marks 1452}#)))
-                           (if #{t 1460}# #{t 1460}# #{id 1444}#))))))))
+                     (#{search 1377}#
+                       #{id 1463}#
+                       (cdr #{w 1371}#)
+                       #{marks 1466}#))
+                   (lambda (#{new-id 1470}# #{marks 1471}#)
+                     (if #{new-id 1470}#
+                       #{new-id 1470}#
+                       (let ((#{t 1479}#
+                               (#{search 1377}#
+                                 #{id 1463}#
+                                 (cdr #{w1 1464}#)
+                                 #{marks 1471}#)))
+                         (if #{t 1479}# #{t 1479}# #{id 1463}#)))))))
              (syntax-violation
                'id-var-name
                "invalid id"
-               #{id 1352}#))))))
-   (#{free-id=? 399}#
-     (lambda (#{i 1465}# #{j 1466}#)
-       (let ((#{ni 1471}#
-               (#{id-var-name 397}# #{i 1465}# '(())))
-             (#{nj 1472}#
-               (#{id-var-name 397}# #{j 1466}# '(()))))
-         (letrec*
-           ((#{id-module-binding 1476}#
-              (lambda (#{id 1477}#)
-                (let ((#{mod 1480}#
-                        (if (#{syntax-object? 309}# #{id 1477}#)
-                          (#{syntax-object-module 315}# #{id 1477}#)
-                          #f)))
-                  (module-variable
-                    (if #{mod 1480}#
-                      (resolve-module (cdr #{mod 1480}#))
-                      (current-module))
-                    (let ((#{x 1485}# #{id 1477}#))
-                      (if (#{syntax-object? 309}# #{x 1485}#)
-                        (#{syntax-object-expression 311}# #{x 1485}#)
-                        #{x 1485}#)))))))
-           (if (eq? #{ni 1471}#
-                    (let ((#{x 1488}# #{i 1465}#))
-                      (if (#{syntax-object? 309}# #{x 1488}#)
-                        (#{syntax-object-expression 311}# #{x 1488}#)
-                        #{x 1488}#)))
-             (if (eq? #{nj 1472}#
-                      (let ((#{x 1492}# #{j 1466}#))
-                        (if (#{syntax-object? 309}# #{x 1492}#)
-                          (#{syntax-object-expression 311}# #{x 1492}#)
-                          #{x 1492}#)))
-               (if (let ((#{bi 1495}#
-                           (#{id-module-binding 1476}# #{i 1465}#)))
-                     (if #{bi 1495}#
-                       (eq? #{bi 1495}#
-                            (#{id-module-binding 1476}# #{j 1466}#))
-                       (if (not (#{id-module-binding 1476}# #{j 1466}#))
-                         (eq? #{ni 1471}# #{nj 1472}#)
-                         #f)))
-                 (eq? (#{id-module-binding 1476}# #{i 1465}#)
-                      (#{id-module-binding 1476}# #{j 1466}#))
-                 #f)
+               #{id 1370}#))))))
+   (#{free-id=? 417}#
+     (lambda (#{i 1484}# #{j 1485}#)
+       (let ((#{ni 1490}#
+               (#{id-var-name 415}# #{i 1484}# '(())))
+             (#{nj 1491}#
+               (#{id-var-name 415}# #{j 1485}# '(()))))
+         (if (eq? #{ni 1490}#
+                  (if (#{syntax-object? 316}# #{i 1484}#)
+                    (#{syntax-object-expression 318}# #{i 1484}#)
+                    #{i 1484}#))
+           (if (eq? #{nj 1491}#
+                    (if (#{syntax-object? 316}# #{j 1485}#)
+                      (#{syntax-object-expression 318}# #{j 1485}#)
+                      #{j 1485}#))
+             (if (let ((#{bi 1514}#
+                         (let ((#{mod 4428}#
+                                 (if (#{syntax-object? 316}# #{i 1484}#)
+                                   (#{syntax-object-module 322}# #{i 1484}#)
+                                   #f)))
+                           (module-variable
+                             (if #{mod 4428}#
+                               (resolve-module (cdr #{mod 4428}#))
+                               (current-module))
+                             (if (#{syntax-object? 316}# #{i 1484}#)
+                               (#{syntax-object-expression 318}# #{i 1484}#)
+                               #{i 1484}#)))))
+                   (if #{bi 1514}#
+                     (eq? #{bi 1514}#
+                          (let ((#{mod 4432}#
+                                  (if (#{syntax-object? 316}# #{j 1485}#)
+                                    (#{syntax-object-module 322}# #{j 1485}#)
+                                    #f)))
+                            (module-variable
+                              (if #{mod 4432}#
+                                (resolve-module (cdr #{mod 4432}#))
+                                (current-module))
+                              (if (#{syntax-object? 316}# #{j 1485}#)
+                                (#{syntax-object-expression 318}# #{j 1485}#)
+                                #{j 1485}#))))
+                     (if (not (let ((#{mod 4436}#
+                                      (if (#{syntax-object? 316}# #{j 1485}#)
+                                        (#{syntax-object-module 322}#
+                                          #{j 1485}#)
+                                        #f)))
+                                (module-variable
+                                  (if #{mod 4436}#
+                                    (resolve-module (cdr #{mod 4436}#))
+                                    (current-module))
+                                  (if (#{syntax-object? 316}# #{j 1485}#)
+                                    (#{syntax-object-expression 318}#
+                                      #{j 1485}#)
+                                    #{j 1485}#))))
+                       (eq? #{ni 1490}# #{nj 1491}#)
+                       #f)))
+               (eq? (let ((#{mod 4440}#
+                            (if (#{syntax-object? 316}# #{i 1484}#)
+                              (#{syntax-object-module 322}# #{i 1484}#)
+                              #f)))
+                      (module-variable
+                        (if #{mod 4440}#
+                          (resolve-module (cdr #{mod 4440}#))
+                          (current-module))
+                        (if (#{syntax-object? 316}# #{i 1484}#)
+                          (#{syntax-object-expression 318}# #{i 1484}#)
+                          #{i 1484}#)))
+                    (let ((#{mod 4444}#
+                            (if (#{syntax-object? 316}# #{j 1485}#)
+                              (#{syntax-object-module 322}# #{j 1485}#)
+                              #f)))
+                      (module-variable
+                        (if #{mod 4444}#
+                          (resolve-module (cdr #{mod 4444}#))
+                          (current-module))
+                        (if (#{syntax-object? 316}# #{j 1485}#)
+                          (#{syntax-object-expression 318}# #{j 1485}#)
+                          #{j 1485}#))))
                #f)
-             (if (eq? #{ni 1471}# #{nj 1472}#)
-               (not (eq? #{nj 1472}#
-                         (let ((#{x 1503}# #{j 1466}#))
-                           (if (#{syntax-object? 309}# #{x 1503}#)
-                             (#{syntax-object-expression 311}# #{x 1503}#)
-                             #{x 1503}#))))
-               #f))))))
-   (#{bound-id=? 401}#
-     (lambda (#{i 1504}# #{j 1505}#)
-       (if (if (#{syntax-object? 309}# #{i 1504}#)
-             (#{syntax-object? 309}# #{j 1505}#)
              #f)
-         (if (eq? (#{syntax-object-expression 311}# #{i 1504}#)
-                  (#{syntax-object-expression 311}# #{j 1505}#))
-           (#{same-marks? 395}#
-             (car (#{syntax-object-wrap 313}# #{i 1504}#))
-             (car (#{syntax-object-wrap 313}# #{j 1505}#)))
+           (if (eq? #{ni 1490}# #{nj 1491}#)
+             (not (eq? #{nj 1491}#
+                       (if (#{syntax-object? 316}# #{j 1485}#)
+                         (#{syntax-object-expression 318}# #{j 1485}#)
+                         #{j 1485}#)))
+             #f)))))
+   (#{bound-id=? 419}#
+     (lambda (#{i 1523}# #{j 1524}#)
+       (if (if (#{syntax-object? 316}# #{i 1523}#)
+             (#{syntax-object? 316}# #{j 1524}#)
+             #f)
+         (if (eq? (#{syntax-object-expression 318}# #{i 1523}#)
+                  (#{syntax-object-expression 318}# #{j 1524}#))
+           (#{same-marks? 413}#
+             (car (#{syntax-object-wrap 320}# #{i 1523}#))
+             (car (#{syntax-object-wrap 320}# #{j 1524}#)))
            #f)
-         (eq? #{i 1504}# #{j 1505}#))))
-   (#{valid-bound-ids? 403}#
-     (lambda (#{ids 1514}#)
+         (eq? #{i 1523}# #{j 1524}#))))
+   (#{valid-bound-ids? 421}#
+     (lambda (#{ids 1533}#)
        (if (letrec*
-             ((#{all-ids? 1519}#
-                (lambda (#{ids 1520}#)
-                  (let ((#{t 1523}# (null? #{ids 1520}#)))
-                    (if #{t 1523}#
-                      #{t 1523}#
-                      (if (#{id? 343}# (car #{ids 1520}#))
-                        (#{all-ids? 1519}# (cdr #{ids 1520}#))
-                        #f))))))
-             (#{all-ids? 1519}# #{ids 1514}#))
-         (#{distinct-bound-ids? 405}# #{ids 1514}#)
+             ((#{all-ids? 1538}#
+                (lambda (#{ids 1539}#)
+                  (if (null? #{ids 1539}#)
+                    (null? #{ids 1539}#)
+                    (if (#{id? 353}# (car #{ids 1539}#))
+                      (#{all-ids? 1538}# (cdr #{ids 1539}#))
+                      #f)))))
+             (#{all-ids? 1538}# #{ids 1533}#))
+         (#{distinct-bound-ids? 423}# #{ids 1533}#)
          #f)))
-   (#{distinct-bound-ids? 405}#
-     (lambda (#{ids 1528}#)
+   (#{distinct-bound-ids? 423}#
+     (lambda (#{ids 1547}#)
        (letrec*
-         ((#{distinct? 1532}#
-            (lambda (#{ids 1533}#)
-              (let ((#{t 1536}# (null? #{ids 1533}#)))
-                (if #{t 1536}#
-                  #{t 1536}#
-                  (if (not (#{bound-id-member? 407}#
-                             (car #{ids 1533}#)
-                             (cdr #{ids 1533}#)))
-                    (#{distinct? 1532}# (cdr #{ids 1533}#))
-                    #f))))))
-         (#{distinct? 1532}# #{ids 1528}#))))
-   (#{bound-id-member? 407}#
-     (lambda (#{x 1540}# #{list 1541}#)
-       (if (not (null? #{list 1541}#))
-         (let ((#{t 1548}#
-                 (#{bound-id=? 401}#
-                   #{x 1540}#
-                   (car #{list 1541}#))))
-           (if #{t 1548}#
-             #{t 1548}#
-             (#{bound-id-member? 407}#
-               #{x 1540}#
-               (cdr #{list 1541}#))))
+         ((#{distinct? 1551}#
+            (lambda (#{ids 1552}#)
+              (if (null? #{ids 1552}#)
+                (null? #{ids 1552}#)
+                (if (not (#{bound-id-member? 425}#
+                           (car #{ids 1552}#)
+                           (cdr #{ids 1552}#)))
+                  (#{distinct? 1551}# (cdr #{ids 1552}#))
+                  #f)))))
+         (#{distinct? 1551}# #{ids 1547}#))))
+   (#{bound-id-member? 425}#
+     (lambda (#{x 1559}# #{list 1560}#)
+       (if (not (null? #{list 1560}#))
+         (let ((#{t 1567}#
+                 (#{bound-id=? 419}#
+                   #{x 1559}#
+                   (car #{list 1560}#))))
+           (if #{t 1567}#
+             #{t 1567}#
+             (#{bound-id-member? 425}#
+               #{x 1559}#
+               (cdr #{list 1560}#))))
          #f)))
-   (#{wrap 409}#
-     (lambda (#{x 1550}# #{w 1551}# #{defmod 1552}#)
-       (if (if (null? (car #{w 1551}#))
-             (null? (cdr #{w 1551}#))
+   (#{wrap 427}#
+     (lambda (#{x 1569}# #{w 1570}# #{defmod 1571}#)
+       (if (if (null? (car #{w 1570}#))
+             (null? (cdr #{w 1570}#))
              #f)
-         #{x 1550}#
-         (if (#{syntax-object? 309}# #{x 1550}#)
-           (#{make-syntax-object 307}#
-             (#{syntax-object-expression 311}# #{x 1550}#)
-             (#{join-wraps 391}#
-               #{w 1551}#
-               (#{syntax-object-wrap 313}# #{x 1550}#))
-             (#{syntax-object-module 315}# #{x 1550}#))
-           (if (null? #{x 1550}#)
-             #{x 1550}#
-             (#{make-syntax-object 307}#
-               #{x 1550}#
-               #{w 1551}#
-               #{defmod 1552}#))))))
-   (#{source-wrap 411}#
-     (lambda (#{x 1567}#
-              #{w 1568}#
-              #{s 1569}#
-              #{defmod 1570}#)
-       (#{wrap 409}#
-         (#{decorate-source 261}# #{x 1567}# #{s 1569}#)
-         #{w 1568}#
-         #{defmod 1570}#)))
-   (#{chi-sequence 413}#
-     (lambda (#{body 1575}#
-              #{r 1576}#
-              #{w 1577}#
-              #{s 1578}#
-              #{mod 1579}#)
-       (#{build-sequence 297}#
-         #{s 1578}#
+         #{x 1569}#
+         (if (#{syntax-object? 316}# #{x 1569}#)
+           (#{make-syntax-object 314}#
+             (#{syntax-object-expression 318}# #{x 1569}#)
+             (#{join-wraps 409}#
+               #{w 1570}#
+               (#{syntax-object-wrap 320}# #{x 1569}#))
+             (#{syntax-object-module 322}# #{x 1569}#))
+           (if (null? #{x 1569}#)
+             #{x 1569}#
+             (#{make-syntax-object 314}#
+               #{x 1569}#
+               #{w 1570}#
+               #{defmod 1571}#))))))
+   (#{source-wrap 429}#
+     (lambda (#{x 1586}#
+              #{w 1587}#
+              #{s 1588}#
+              #{defmod 1589}#)
+       (#{wrap 427}#
+         (#{decorate-source 267}# #{x 1586}# #{s 1588}#)
+         #{w 1587}#
+         #{defmod 1589}#)))
+   (#{chi-sequence 431}#
+     (lambda (#{body 1594}#
+              #{r 1595}#
+              #{w 1596}#
+              #{s 1597}#
+              #{mod 1598}#)
+       (#{build-sequence 303}#
+         #{s 1597}#
          (letrec*
-           ((#{dobody 1590}#
-              (lambda (#{body 1591}#
-                       #{r 1592}#
-                       #{w 1593}#
-                       #{mod 1594}#)
-                (if (null? #{body 1591}#)
+           ((#{dobody 1609}#
+              (lambda (#{body 1610}#
+                       #{r 1611}#
+                       #{w 1612}#
+                       #{mod 1613}#)
+                (if (null? #{body 1610}#)
                   '()
-                  (let ((#{first 1596}#
-                          (#{chi 423}#
-                            (car #{body 1591}#)
-                            #{r 1592}#
-                            #{w 1593}#
-                            #{mod 1594}#)))
-                    (cons #{first 1596}#
-                          (#{dobody 1590}#
-                            (cdr #{body 1591}#)
-                            #{r 1592}#
-                            #{w 1593}#
-                            #{mod 1594}#)))))))
-           (#{dobody 1590}#
-             #{body 1575}#
-             #{r 1576}#
-             #{w 1577}#
-             #{mod 1579}#)))))
-   (#{chi-top-sequence 415}#
-     (lambda (#{body 1597}#
-              #{r 1598}#
-              #{w 1599}#
-              #{s 1600}#
-              #{m 1601}#
-              #{esew 1602}#
-              #{mod 1603}#)
+                  (let ((#{first 1615}#
+                          (#{chi 441}#
+                            (car #{body 1610}#)
+                            #{r 1611}#
+                            #{w 1612}#
+                            #{mod 1613}#)))
+                    (cons #{first 1615}#
+                          (#{dobody 1609}#
+                            (cdr #{body 1610}#)
+                            #{r 1611}#
+                            #{w 1612}#
+                            #{mod 1613}#)))))))
+           (#{dobody 1609}#
+             #{body 1594}#
+             #{r 1595}#
+             #{w 1596}#
+             #{mod 1598}#)))))
+   (#{chi-top-sequence 433}#
+     (lambda (#{body 1616}#
+              #{r 1617}#
+              #{w 1618}#
+              #{s 1619}#
+              #{m 1620}#
+              #{esew 1621}#
+              #{mod 1622}#)
        (letrec*
-         ((#{scan 1612}#
-            (lambda (#{body 1613}#
-                     #{r 1614}#
-                     #{w 1615}#
-                     #{s 1616}#
-                     #{m 1617}#
-                     #{esew 1618}#
-                     #{mod 1619}#
-                     #{exps 1620}#)
-              (if (null? #{body 1613}#)
-                #{exps 1620}#
+         ((#{scan 1631}#
+            (lambda (#{body 1632}#
+                     #{r 1633}#
+                     #{w 1634}#
+                     #{s 1635}#
+                     #{m 1636}#
+                     #{esew 1637}#
+                     #{mod 1638}#
+                     #{exps 1639}#)
+              (if (null? #{body 1632}#)
+                #{exps 1639}#
                 (call-with-values
                   (lambda ()
                     (call-with-values
                       (lambda ()
-                        (let ((#{e 1633}# (car #{body 1613}#)))
-                          (#{syntax-type 421}#
-                            #{e 1633}#
-                            #{r 1614}#
-                            #{w 1615}#
-                            (let ((#{t 1636}#
-                                    (#{source-annotation 324}# #{e 1633}#)))
-                              (if #{t 1636}# #{t 1636}# #{s 1616}#))
+                        (let ((#{e 1652}# (car #{body 1632}#)))
+                          (#{syntax-type 439}#
+                            #{e 1652}#
+                            #{r 1633}#
+                            #{w 1634}#
+                            (let ((#{t 1655}#
+                                    (#{source-annotation 331}# #{e 1652}#)))
+                              (if #{t 1655}# #{t 1655}# #{s 1635}#))
                             #f
-                            #{mod 1619}#
+                            #{mod 1638}#
                             #f)))
-                      (lambda (#{type 1638}#
-                               #{value 1639}#
-                               #{e 1640}#
-                               #{w 1641}#
-                               #{s 1642}#
-                               #{mod 1643}#)
-                        (if (memv #{type 1638}# '(begin-form))
-                          (let ((#{tmp 1651}# #{e 1640}#))
-                            (let ((#{tmp 1652}#
-                                    ($sc-dispatch #{tmp 1651}# '(_))))
-                              (if #{tmp 1652}#
-                                (@apply (lambda () #{exps 1620}#) #{tmp 1652}#)
-                                (let ((#{tmp 1653}#
-                                        ($sc-dispatch
-                                          #{tmp 1651}#
-                                          '(_ any . each-any))))
-                                  (if #{tmp 1653}#
-                                    (@apply
-                                      (lambda (#{e1 1656}# #{e2 1657}#)
-                                        (#{scan 1612}#
-                                          (cons #{e1 1656}# #{e2 1657}#)
-                                          #{r 1614}#
-                                          #{w 1641}#
-                                          #{s 1642}#
-                                          #{m 1617}#
-                                          #{esew 1618}#
-                                          #{mod 1643}#
-                                          #{exps 1620}#))
-                                      #{tmp 1653}#)
-                                    (syntax-violation
-                                      #f
-                                      "source expression failed to match any 
pattern"
-                                      #{tmp 1651}#))))))
-                          (if (memv #{type 1638}# '(local-syntax-form))
-                            (#{chi-local-syntax 433}#
-                              #{value 1639}#
-                              #{e 1640}#
-                              #{r 1614}#
-                              #{w 1641}#
-                              #{s 1642}#
-                              #{mod 1643}#
-                              (lambda (#{body 1660}#
-                                       #{r 1661}#
-                                       #{w 1662}#
-                                       #{s 1663}#
-                                       #{mod 1664}#)
-                                (#{scan 1612}#
-                                  #{body 1660}#
-                                  #{r 1661}#
-                                  #{w 1662}#
-                                  #{s 1663}#
-                                  #{m 1617}#
-                                  #{esew 1618}#
-                                  #{mod 1664}#
-                                  #{exps 1620}#)))
-                            (if (memv #{type 1638}# '(eval-when-form))
-                              (let ((#{tmp 1671}# #{e 1640}#))
-                                (let ((#{tmp 1672}#
-                                        ($sc-dispatch
-                                          #{tmp 1671}#
-                                          '(_ each-any any . each-any))))
-                                  (if #{tmp 1672}#
-                                    (@apply
-                                      (lambda (#{x 1676}#
-                                               #{e1 1677}#
-                                               #{e2 1678}#)
-                                        (let ((#{when-list 1681}#
-                                                (#{chi-when-list 419}#
-                                                  #{e 1640}#
-                                                  #{x 1676}#
-                                                  #{w 1641}#))
-                                              (#{body 1682}#
-                                                (cons #{e1 1677}#
-                                                      #{e2 1678}#)))
-                                          (if (eq? #{m 1617}# 'e)
-                                            (if (memq 'eval #{when-list 1681}#)
-                                              (#{scan 1612}#
-                                                #{body 1682}#
-                                                #{r 1614}#
-                                                #{w 1641}#
-                                                #{s 1642}#
-                                                (if (memq 'expand
-                                                          #{when-list 1681}#)
-                                                  'c&e
-                                                  'e)
-                                                '(eval)
-                                                #{mod 1643}#
-                                                #{exps 1620}#)
+                      (lambda (#{type 1657}#
+                               #{value 1658}#
+                               #{e 1659}#
+                               #{w 1660}#
+                               #{s 1661}#
+                               #{mod 1662}#)
+                        (if (memv #{type 1657}# '(begin-form))
+                          (let ((#{tmp 1671}# ($sc-dispatch #{e 1659}# '(_))))
+                            (if #{tmp 1671}#
+                              (@apply (lambda () #{exps 1639}#) #{tmp 1671}#)
+                              (let ((#{tmp 1672}#
+                                      ($sc-dispatch
+                                        #{e 1659}#
+                                        '(_ any . each-any))))
+                                (if #{tmp 1672}#
+                                  (@apply
+                                    (lambda (#{e1 1675}# #{e2 1676}#)
+                                      (#{scan 1631}#
+                                        (cons #{e1 1675}# #{e2 1676}#)
+                                        #{r 1633}#
+                                        #{w 1660}#
+                                        #{s 1661}#
+                                        #{m 1636}#
+                                        #{esew 1637}#
+                                        #{mod 1662}#
+                                        #{exps 1639}#))
+                                    #{tmp 1672}#)
+                                  (syntax-violation
+                                    #f
+                                    "source expression failed to match any 
pattern"
+                                    #{e 1659}#)))))
+                          (if (memv #{type 1657}# '(local-syntax-form))
+                            (#{chi-local-syntax 451}#
+                              #{value 1658}#
+                              #{e 1659}#
+                              #{r 1633}#
+                              #{w 1660}#
+                              #{s 1661}#
+                              #{mod 1662}#
+                              (lambda (#{body 1679}#
+                                       #{r 1680}#
+                                       #{w 1681}#
+                                       #{s 1682}#
+                                       #{mod 1683}#)
+                                (#{scan 1631}#
+                                  #{body 1679}#
+                                  #{r 1680}#
+                                  #{w 1681}#
+                                  #{s 1682}#
+                                  #{m 1636}#
+                                  #{esew 1637}#
+                                  #{mod 1683}#
+                                  #{exps 1639}#)))
+                            (if (memv #{type 1657}# '(eval-when-form))
+                              (let ((#{tmp 1691}#
+                                      ($sc-dispatch
+                                        #{e 1659}#
+                                        '(_ each-any any . each-any))))
+                                (if #{tmp 1691}#
+                                  (@apply
+                                    (lambda (#{x 1695}#
+                                             #{e1 1696}#
+                                             #{e2 1697}#)
+                                      (let ((#{when-list 1700}#
+                                              (#{chi-when-list 437}#
+                                                #{e 1659}#
+                                                #{x 1695}#
+                                                #{w 1660}#))
+                                            (#{body 1701}#
+                                              (cons #{e1 1696}# #{e2 1697}#)))
+                                        (if (eq? #{m 1636}# 'e)
+                                          (if (memq 'eval #{when-list 1700}#)
+                                            (#{scan 1631}#
+                                              #{body 1701}#
+                                              #{r 1633}#
+                                              #{w 1660}#
+                                              #{s 1661}#
+                                              (if (memq 'expand
+                                                        #{when-list 1700}#)
+                                                'c&e
+                                                'e)
+                                              '(eval)
+                                              #{mod 1662}#
+                                              #{exps 1639}#)
+                                            (begin
+                                              (if (memq 'expand
+                                                        #{when-list 1700}#)
+                                                (#{top-level-eval-hook 257}#
+                                                  (#{chi-top-sequence 433}#
+                                                    #{body 1701}#
+                                                    #{r 1633}#
+                                                    #{w 1660}#
+                                                    #{s 1661}#
+                                                    'e
+                                                    '(eval)
+                                                    #{mod 1662}#)
+                                                  #{mod 1662}#))
+                                              (values #{exps 1639}#)))
+                                          (if (memq 'load #{when-list 1700}#)
+                                            (if (let ((#{t 1710}#
+                                                        (memq 'compile
+                                                              #{when-list 
1700}#)))
+                                                  (if #{t 1710}#
+                                                    #{t 1710}#
+                                                    (let ((#{t 1713}#
+                                                            (memq 'expand
+                                                                  #{when-list 
1700}#)))
+                                                      (if #{t 1713}#
+                                                        #{t 1713}#
+                                                        (if (eq? #{m 1636}#
+                                                                 'c&e)
+                                                          (memq 'eval
+                                                                #{when-list 
1700}#)
+                                                          #f)))))
+                                              (#{scan 1631}#
+                                                #{body 1701}#
+                                                #{r 1633}#
+                                                #{w 1660}#
+                                                #{s 1661}#
+                                                'c&e
+                                                '(compile load)
+                                                #{mod 1662}#
+                                                #{exps 1639}#)
+                                              (if (memq #{m 1636}# '(c c&e))
+                                                (#{scan 1631}#
+                                                  #{body 1701}#
+                                                  #{r 1633}#
+                                                  #{w 1660}#
+                                                  #{s 1661}#
+                                                  'c
+                                                  '(load)
+                                                  #{mod 1662}#
+                                                  #{exps 1639}#)
+                                                (values #{exps 1639}#)))
+                                            (if (let ((#{t 1721}#
+                                                        (memq 'compile
+                                                              #{when-list 
1700}#)))
+                                                  (if #{t 1721}#
+                                                    #{t 1721}#
+                                                    (let ((#{t 1724}#
+                                                            (memq 'expand
+                                                                  #{when-list 
1700}#)))
+                                                      (if #{t 1724}#
+                                                        #{t 1724}#
+                                                        (if (eq? #{m 1636}#
+                                                                 'c&e)
+                                                          (memq 'eval
+                                                                #{when-list 
1700}#)
+                                                          #f)))))
                                               (begin
-                                                (if (memq 'expand
-                                                          #{when-list 1681}#)
-                                                  (#{top-level-eval-hook 252}#
-                                                    (#{chi-top-sequence 415}#
-                                                      #{body 1682}#
-                                                      #{r 1614}#
-                                                      #{w 1641}#
-                                                      #{s 1642}#
-                                                      'e
-                                                      '(eval)
-                                                      #{mod 1643}#)
-                                                    #{mod 1643}#))
-                                                (values #{exps 1620}#)))
-                                            (if (memq 'load #{when-list 1681}#)
-                                              (if (let ((#{t 1691}#
-                                                          (memq 'compile
-                                                                #{when-list 
1681}#)))
-                                                    (if #{t 1691}#
-                                                      #{t 1691}#
-                                                      (let ((#{t 1694}#
-                                                              (memq 'expand
-                                                                    
#{when-list 1681}#)))
-                                                        (if #{t 1694}#
-                                                          #{t 1694}#
-                                                          (if (eq? #{m 1617}#
-                                                                   'c&e)
-                                                            (memq 'eval
-                                                                  #{when-list 
1681}#)
-                                                            #f)))))
-                                                (#{scan 1612}#
-                                                  #{body 1682}#
-                                                  #{r 1614}#
-                                                  #{w 1641}#
-                                                  #{s 1642}#
-                                                  'c&e
-                                                  '(compile load)
-                                                  #{mod 1643}#
-                                                  #{exps 1620}#)
-                                                (if (memq #{m 1617}# '(c c&e))
-                                                  (#{scan 1612}#
-                                                    #{body 1682}#
-                                                    #{r 1614}#
-                                                    #{w 1641}#
-                                                    #{s 1642}#
-                                                    'c
-                                                    '(load)
-                                                    #{mod 1643}#
-                                                    #{exps 1620}#)
-                                                  (values #{exps 1620}#)))
-                                              (if (let ((#{t 1702}#
-                                                          (memq 'compile
-                                                                #{when-list 
1681}#)))
-                                                    (if #{t 1702}#
-                                                      #{t 1702}#
-                                                      (let ((#{t 1705}#
-                                                              (memq 'expand
-                                                                    
#{when-list 1681}#)))
-                                                        (if #{t 1705}#
-                                                          #{t 1705}#
-                                                          (if (eq? #{m 1617}#
-                                                                   'c&e)
-                                                            (memq 'eval
-                                                                  #{when-list 
1681}#)
-                                                            #f)))))
-                                                (begin
-                                                  (#{top-level-eval-hook 252}#
-                                                    (#{chi-top-sequence 415}#
-                                                      #{body 1682}#
-                                                      #{r 1614}#
-                                                      #{w 1641}#
-                                                      #{s 1642}#
-                                                      'e
-                                                      '(eval)
-                                                      #{mod 1643}#)
-                                                    #{mod 1643}#)
-                                                  (values #{exps 1620}#))
-                                                (values #{exps 1620}#))))))
-                                      #{tmp 1672}#)
-                                    (syntax-violation
-                                      #f
-                                      "source expression failed to match any 
pattern"
-                                      #{tmp 1671}#))))
-                              (if (memv #{type 1638}# '(define-syntax-form))
-                                (let ((#{n 1713}#
-                                        (#{id-var-name 397}#
-                                          #{value 1639}#
-                                          #{w 1641}#))
-                                      (#{r 1714}#
-                                        (#{macros-only-env 335}# #{r 1614}#)))
-                                  (if (memv #{m 1617}# '(c))
-                                    (if (memq 'compile #{esew 1618}#)
-                                      (let ((#{e 1717}#
-                                              (#{chi-install-global 417}#
-                                                #{n 1713}#
-                                                (#{chi 423}#
-                                                  #{e 1640}#
-                                                  #{r 1714}#
-                                                  #{w 1641}#
-                                                  #{mod 1643}#))))
+                                                (#{top-level-eval-hook 257}#
+                                                  (#{chi-top-sequence 433}#
+                                                    #{body 1701}#
+                                                    #{r 1633}#
+                                                    #{w 1660}#
+                                                    #{s 1661}#
+                                                    'e
+                                                    '(eval)
+                                                    #{mod 1662}#)
+                                                  #{mod 1662}#)
+                                                (values #{exps 1639}#))
+                                              (values #{exps 1639}#))))))
+                                    #{tmp 1691}#)
+                                  (syntax-violation
+                                    #f
+                                    "source expression failed to match any 
pattern"
+                                    #{e 1659}#)))
+                              (if (memv #{type 1657}# '(define-syntax-form))
+                                (let ((#{n 1732}#
+                                        (#{id-var-name 415}#
+                                          #{value 1658}#
+                                          #{w 1660}#))
+                                      (#{r 1733}#
+                                        (#{macros-only-env 345}# #{r 1633}#)))
+                                  (if (memv #{m 1636}# '(c))
+                                    (if (memq 'compile #{esew 1637}#)
+                                      (let ((#{e 1736}#
+                                              (#{chi-install-global 435}#
+                                                #{n 1732}#
+                                                (#{chi 441}#
+                                                  #{e 1659}#
+                                                  #{r 1733}#
+                                                  #{w 1660}#
+                                                  #{mod 1662}#))))
                                         (begin
-                                          (#{top-level-eval-hook 252}#
-                                            #{e 1717}#
-                                            #{mod 1643}#)
-                                          (if (memq 'load #{esew 1618}#)
+                                          (#{top-level-eval-hook 257}#
+                                            #{e 1736}#
+                                            #{mod 1662}#)
+                                          (if (memq 'load #{esew 1637}#)
                                             (values
-                                              (cons #{e 1717}# #{exps 1620}#))
-                                            (values #{exps 1620}#))))
-                                      (if (memq 'load #{esew 1618}#)
+                                              (cons #{e 1736}# #{exps 1639}#))
+                                            (values #{exps 1639}#))))
+                                      (if (memq 'load #{esew 1637}#)
                                         (values
-                                          (cons (#{chi-install-global 417}#
-                                                  #{n 1713}#
-                                                  (#{chi 423}#
-                                                    #{e 1640}#
-                                                    #{r 1714}#
-                                                    #{w 1641}#
-                                                    #{mod 1643}#))
-                                                #{exps 1620}#))
-                                        (values #{exps 1620}#)))
-                                    (if (memv #{m 1617}# '(c&e))
-                                      (let ((#{e 1720}#
-                                              (#{chi-install-global 417}#
-                                                #{n 1713}#
-                                                (#{chi 423}#
-                                                  #{e 1640}#
-                                                  #{r 1714}#
-                                                  #{w 1641}#
-                                                  #{mod 1643}#))))
+                                          (cons (#{chi-install-global 435}#
+                                                  #{n 1732}#
+                                                  (#{chi 441}#
+                                                    #{e 1659}#
+                                                    #{r 1733}#
+                                                    #{w 1660}#
+                                                    #{mod 1662}#))
+                                                #{exps 1639}#))
+                                        (values #{exps 1639}#)))
+                                    (if (memv #{m 1636}# '(c&e))
+                                      (let ((#{e 1739}#
+                                              (#{chi-install-global 435}#
+                                                #{n 1732}#
+                                                (#{chi 441}#
+                                                  #{e 1659}#
+                                                  #{r 1733}#
+                                                  #{w 1660}#
+                                                  #{mod 1662}#))))
                                         (begin
-                                          (#{top-level-eval-hook 252}#
-                                            #{e 1720}#
-                                            #{mod 1643}#)
+                                          (#{top-level-eval-hook 257}#
+                                            #{e 1739}#
+                                            #{mod 1662}#)
                                           (values
-                                            (cons #{e 1720}# #{exps 1620}#))))
+                                            (cons #{e 1739}# #{exps 1639}#))))
                                       (begin
-                                        (if (memq 'eval #{esew 1618}#)
-                                          (#{top-level-eval-hook 252}#
-                                            (#{chi-install-global 417}#
-                                              #{n 1713}#
-                                              (#{chi 423}#
-                                                #{e 1640}#
-                                                #{r 1714}#
-                                                #{w 1641}#
-                                                #{mod 1643}#))
-                                            #{mod 1643}#))
-                                        (values #{exps 1620}#)))))
-                                (if (memv #{type 1638}# '(define-form))
-                                  (let ((#{n 1725}#
-                                          (#{id-var-name 397}#
-                                            #{value 1639}#
-                                            #{w 1641}#)))
-                                    (let ((#{type 1727}#
-                                            (car (#{lookup 337}#
-                                                   #{n 1725}#
-                                                   #{r 1614}#
-                                                   #{mod 1643}#))))
-                                      (if (memv #{type 1727}#
+                                        (if (memq 'eval #{esew 1637}#)
+                                          (#{top-level-eval-hook 257}#
+                                            (#{chi-install-global 435}#
+                                              #{n 1732}#
+                                              (#{chi 441}#
+                                                #{e 1659}#
+                                                #{r 1733}#
+                                                #{w 1660}#
+                                                #{mod 1662}#))
+                                            #{mod 1662}#))
+                                        (values #{exps 1639}#)))))
+                                (if (memv #{type 1657}# '(define-form))
+                                  (let ((#{n 1744}#
+                                          (#{id-var-name 415}#
+                                            #{value 1658}#
+                                            #{w 1660}#)))
+                                    (let ((#{type 1746}#
+                                            (car (#{lookup 347}#
+                                                   #{n 1744}#
+                                                   #{r 1633}#
+                                                   #{mod 1662}#))))
+                                      (if (memv #{type 1746}#
                                                 '(global
                                                    core
                                                    macro
                                                    module-ref))
                                         (begin
-                                          (if (if (memq #{m 1617}# '(c c&e))
+                                          (if (if (memq #{m 1636}# '(c c&e))
                                                 (if (not (module-local-variable
                                                            (current-module)
-                                                           #{n 1725}#))
+                                                           #{n 1744}#))
                                                   (current-module)
                                                   #f)
                                                 #f)
-                                            (let ((#{old 1734}#
+                                            (let ((#{old 1753}#
                                                     (module-variable
                                                       (current-module)
-                                                      #{n 1725}#)))
-                                              (if (if (variable? #{old 1734}#)
+                                                      #{n 1744}#)))
+                                              (if (if (variable? #{old 1753}#)
                                                     (variable-bound?
-                                                      #{old 1734}#)
+                                                      #{old 1753}#)
                                                     #f)
                                                 (module-define!
                                                   (current-module)
-                                                  #{n 1725}#
-                                                  (variable-ref #{old 1734}#))
+                                                  #{n 1744}#
+                                                  (variable-ref #{old 1753}#))
                                                 (module-add!
                                                   (current-module)
-                                                  #{n 1725}#
+                                                  #{n 1744}#
                                                   (make-undefined-variable)))))
                                           (values
-                                            (cons (if (eq? #{m 1617}# 'c&e)
-                                                    (let ((#{x 1738}#
-                                                            
(#{build-global-definition 283}#
-                                                              #{s 1642}#
-                                                              #{n 1725}#
-                                                              (#{chi 423}#
-                                                                #{e 1640}#
-                                                                #{r 1614}#
-                                                                #{w 1641}#
-                                                                #{mod 
1643}#))))
+                                            (cons (if (eq? #{m 1636}# 'c&e)
+                                                    (let ((#{x 1757}#
+                                                            
(#{build-global-definition 289}#
+                                                              #{s 1661}#
+                                                              #{n 1744}#
+                                                              (#{chi 441}#
+                                                                #{e 1659}#
+                                                                #{r 1633}#
+                                                                #{w 1660}#
+                                                                #{mod 
1662}#))))
                                                       (begin
-                                                        (#{top-level-eval-hook 
252}#
-                                                          #{x 1738}#
-                                                          #{mod 1643}#)
-                                                        #{x 1738}#))
+                                                        (#{top-level-eval-hook 
257}#
+                                                          #{x 1757}#
+                                                          #{mod 1662}#)
+                                                        #{x 1757}#))
                                                     (lambda ()
-                                                      
(#{build-global-definition 283}#
-                                                        #{s 1642}#
-                                                        #{n 1725}#
-                                                        (#{chi 423}#
-                                                          #{e 1640}#
-                                                          #{r 1614}#
-                                                          #{w 1641}#
-                                                          #{mod 1643}#))))
-                                                  #{exps 1620}#)))
-                                        (if (memv #{type 1727}#
+                                                      
(#{build-global-definition 289}#
+                                                        #{s 1661}#
+                                                        #{n 1744}#
+                                                        (#{chi 441}#
+                                                          #{e 1659}#
+                                                          #{r 1633}#
+                                                          #{w 1660}#
+                                                          #{mod 1662}#))))
+                                                  #{exps 1639}#)))
+                                        (if (memv #{type 1746}#
                                                   '(displaced-lexical))
                                           (syntax-violation
                                             #f
                                             "identifier out of context"
-                                            #{e 1640}#
-                                            (#{wrap 409}#
-                                              #{value 1639}#
-                                              #{w 1641}#
-                                              #{mod 1643}#))
+                                            #{e 1659}#
+                                            (#{wrap 427}#
+                                              #{value 1658}#
+                                              #{w 1660}#
+                                              #{mod 1662}#))
                                           (syntax-violation
                                             #f
                                             "cannot define keyword at top 
level"
-                                            #{e 1640}#
-                                            (#{wrap 409}#
-                                              #{value 1639}#
-                                              #{w 1641}#
-                                              #{mod 1643}#))))))
+                                            #{e 1659}#
+                                            (#{wrap 427}#
+                                              #{value 1658}#
+                                              #{w 1660}#
+                                              #{mod 1662}#))))))
                                   (values
-                                    (cons (if (eq? #{m 1617}# 'c&e)
-                                            (let ((#{x 1743}#
-                                                    (#{chi-expr 425}#
-                                                      #{type 1638}#
-                                                      #{value 1639}#
-                                                      #{e 1640}#
-                                                      #{r 1614}#
-                                                      #{w 1641}#
-                                                      #{s 1642}#
-                                                      #{mod 1643}#)))
+                                    (cons (if (eq? #{m 1636}# 'c&e)
+                                            (let ((#{x 1762}#
+                                                    (#{chi-expr 443}#
+                                                      #{type 1657}#
+                                                      #{value 1658}#
+                                                      #{e 1659}#
+                                                      #{r 1633}#
+                                                      #{w 1660}#
+                                                      #{s 1661}#
+                                                      #{mod 1662}#)))
                                               (begin
-                                                (#{top-level-eval-hook 252}#
-                                                  #{x 1743}#
-                                                  #{mod 1643}#)
-                                                #{x 1743}#))
+                                                (#{top-level-eval-hook 257}#
+                                                  #{x 1762}#
+                                                  #{mod 1662}#)
+                                                #{x 1762}#))
                                             (lambda ()
-                                              (#{chi-expr 425}#
-                                                #{type 1638}#
-                                                #{value 1639}#
-                                                #{e 1640}#
-                                                #{r 1614}#
-                                                #{w 1641}#
-                                                #{s 1642}#
-                                                #{mod 1643}#)))
-                                          #{exps 1620}#))))))))))
-                  (lambda (#{exps 1744}#)
-                    (#{scan 1612}#
-                      (cdr #{body 1613}#)
-                      #{r 1614}#
-                      #{w 1615}#
-                      #{s 1616}#
-                      #{m 1617}#
-                      #{esew 1618}#
-                      #{mod 1619}#
-                      #{exps 1744}#)))))))
+                                              (#{chi-expr 443}#
+                                                #{type 1657}#
+                                                #{value 1658}#
+                                                #{e 1659}#
+                                                #{r 1633}#
+                                                #{w 1660}#
+                                                #{s 1661}#
+                                                #{mod 1662}#)))
+                                          #{exps 1639}#))))))))))
+                  (lambda (#{exps 1763}#)
+                    (#{scan 1631}#
+                      (cdr #{body 1632}#)
+                      #{r 1633}#
+                      #{w 1634}#
+                      #{s 1635}#
+                      #{m 1636}#
+                      #{esew 1637}#
+                      #{mod 1638}#
+                      #{exps 1763}#)))))))
          (call-with-values
            (lambda ()
-             (#{scan 1612}#
-               #{body 1597}#
-               #{r 1598}#
-               #{w 1599}#
-               #{s 1600}#
-               #{m 1601}#
-               #{esew 1602}#
-               #{mod 1603}#
+             (#{scan 1631}#
+               #{body 1616}#
+               #{r 1617}#
+               #{w 1618}#
+               #{s 1619}#
+               #{m 1620}#
+               #{esew 1621}#
+               #{mod 1622}#
                '()))
-           (lambda (#{exps 1746}#)
-             (if (null? #{exps 1746}#)
-               (#{build-void 265}# #{s 1600}#)
-               (#{build-sequence 297}#
-                 #{s 1600}#
+           (lambda (#{exps 1765}#)
+             (if (null? #{exps 1765}#)
+               (#{build-void 271}# #{s 1619}#)
+               (#{build-sequence 303}#
+                 #{s 1619}#
                  (letrec*
-                   ((#{lp 1751}#
-                      (lambda (#{in 1752}# #{out 1753}#)
-                        (if (null? #{in 1752}#)
-                          #{out 1753}#
-                          (let ((#{e 1755}# (car #{in 1752}#)))
-                            (#{lp 1751}#
-                              (cdr #{in 1752}#)
-                              (cons (if (procedure? #{e 1755}#)
-                                      (#{e 1755}#)
-                                      #{e 1755}#)
-                                    #{out 1753}#)))))))
-                   (#{lp 1751}# #{exps 1746}# '())))))))))
-   (#{chi-install-global 417}#
-     (lambda (#{name 1756}# #{e 1757}#)
-       (#{build-global-definition 283}#
+                   ((#{lp 1770}#
+                      (lambda (#{in 1771}# #{out 1772}#)
+                        (if (null? #{in 1771}#)
+                          #{out 1772}#
+                          (let ((#{e 1774}# (car #{in 1771}#)))
+                            (#{lp 1770}#
+                              (cdr #{in 1771}#)
+                              (cons (if (procedure? #{e 1774}#)
+                                      (#{e 1774}#)
+                                      #{e 1774}#)
+                                    #{out 1772}#)))))))
+                   (#{lp 1770}# #{exps 1765}# '())))))))))
+   (#{chi-install-global 435}#
+     (lambda (#{name 1775}# #{e 1776}#)
+       (#{build-global-definition 289}#
          #f
-         #{name 1756}#
-         (#{build-primcall 291}#
+         #{name 1775}#
+         (#{build-primcall 297}#
            #f
            'make-syntax-transformer
-           (list (#{build-data 295}# #f #{name 1756}#)
-                 (#{build-data 295}# #f 'macro)
-                 #{e 1757}#)))))
-   (#{chi-when-list 419}#
-     (lambda (#{e 1764}# #{when-list 1765}# #{w 1766}#)
+           (list (#{build-data 301}# #f #{name 1775}#)
+                 (#{build-data 301}# #f 'macro)
+                 #{e 1776}#)))))
+   (#{chi-when-list 437}#
+     (lambda (#{e 1783}# #{when-list 1784}# #{w 1785}#)
        (letrec*
-         ((#{f 1773}#
-            (lambda (#{when-list 1774}# #{situations 1775}#)
-              (if (null? #{when-list 1774}#)
-                #{situations 1775}#
-                (#{f 1773}#
-                  (cdr #{when-list 1774}#)
-                  (cons (let ((#{x 1777}#
-                                (syntax->datum (car #{when-list 1774}#))))
-                          (if (memq #{x 1777}# '(compile load eval expand))
-                            #{x 1777}#
+         ((#{f 1792}#
+            (lambda (#{when-list 1793}# #{situations 1794}#)
+              (if (null? #{when-list 1793}#)
+                #{situations 1794}#
+                (#{f 1792}#
+                  (cdr #{when-list 1793}#)
+                  (cons (let ((#{x 1796}#
+                                (syntax->datum (car #{when-list 1793}#))))
+                          (if (memq #{x 1796}# '(compile load eval expand))
+                            #{x 1796}#
                             (syntax-violation
                               'eval-when
                               "invalid situation"
-                              #{e 1764}#
-                              (#{wrap 409}#
-                                (car #{when-list 1774}#)
-                                #{w 1766}#
+                              #{e 1783}#
+                              (#{wrap 427}#
+                                (car #{when-list 1793}#)
+                                #{w 1785}#
                                 #f))))
-                        #{situations 1775}#))))))
-         (#{f 1773}# #{when-list 1765}# '()))))
-   (#{syntax-type 421}#
-     (lambda (#{e 1778}#
-              #{r 1779}#
-              #{w 1780}#
-              #{s 1781}#
-              #{rib 1782}#
-              #{mod 1783}#
-              #{for-car? 1784}#)
-       (if (symbol? #{e 1778}#)
-         (let ((#{n 1796}#
-                 (#{id-var-name 397}# #{e 1778}# #{w 1780}#)))
-           (let ((#{b 1798}#
-                   (#{lookup 337}#
-                     #{n 1796}#
-                     #{r 1779}#
-                     #{mod 1783}#)))
-             (let ((#{type 1800}# (car #{b 1798}#)))
-               (if (memv #{type 1800}# '(lexical))
+                        #{situations 1794}#))))))
+         (#{f 1792}# #{when-list 1784}# '()))))
+   (#{syntax-type 439}#
+     (lambda (#{e 1797}#
+              #{r 1798}#
+              #{w 1799}#
+              #{s 1800}#
+              #{rib 1801}#
+              #{mod 1802}#
+              #{for-car? 1803}#)
+       (if (symbol? #{e 1797}#)
+         (let ((#{n 1815}#
+                 (#{id-var-name 415}# #{e 1797}# #{w 1799}#)))
+           (let ((#{b 1817}#
+                   (#{lookup 347}#
+                     #{n 1815}#
+                     #{r 1798}#
+                     #{mod 1802}#)))
+             (let ((#{type 1819}# (car #{b 1817}#)))
+               (if (memv #{type 1819}# '(lexical))
                  (values
-                   #{type 1800}#
-                   (cdr #{b 1798}#)
-                   #{e 1778}#
-                   #{w 1780}#
-                   #{s 1781}#
-                   #{mod 1783}#)
-                 (if (memv #{type 1800}# '(global))
+                   #{type 1819}#
+                   (cdr #{b 1817}#)
+                   #{e 1797}#
+                   #{w 1799}#
+                   #{s 1800}#
+                   #{mod 1802}#)
+                 (if (memv #{type 1819}# '(global))
                    (values
-                     #{type 1800}#
-                     #{n 1796}#
-                     #{e 1778}#
-                     #{w 1780}#
-                     #{s 1781}#
-                     #{mod 1783}#)
-                   (if (memv #{type 1800}# '(macro))
-                     (if #{for-car? 1784}#
+                     #{type 1819}#
+                     #{n 1815}#
+                     #{e 1797}#
+                     #{w 1799}#
+                     #{s 1800}#
+                     #{mod 1802}#)
+                   (if (memv #{type 1819}# '(macro))
+                     (if #{for-car? 1803}#
                        (values
-                         #{type 1800}#
-                         (cdr #{b 1798}#)
-                         #{e 1778}#
-                         #{w 1780}#
-                         #{s 1781}#
-                         #{mod 1783}#)
-                       (#{syntax-type 421}#
-                         (#{chi-macro 429}#
-                           (cdr #{b 1798}#)
-                           #{e 1778}#
-                           #{r 1779}#
-                           #{w 1780}#
-                           #{s 1781}#
-                           #{rib 1782}#
-                           #{mod 1783}#)
-                         #{r 1779}#
+                         #{type 1819}#
+                         (cdr #{b 1817}#)
+                         #{e 1797}#
+                         #{w 1799}#
+                         #{s 1800}#
+                         #{mod 1802}#)
+                       (#{syntax-type 439}#
+                         (#{chi-macro 447}#
+                           (cdr #{b 1817}#)
+                           #{e 1797}#
+                           #{r 1798}#
+                           #{w 1799}#
+                           #{s 1800}#
+                           #{rib 1801}#
+                           #{mod 1802}#)
+                         #{r 1798}#
                          '(())
-                         #{s 1781}#
-                         #{rib 1782}#
-                         #{mod 1783}#
+                         #{s 1800}#
+                         #{rib 1801}#
+                         #{mod 1802}#
                          #f))
                      (values
-                       #{type 1800}#
-                       (cdr #{b 1798}#)
-                       #{e 1778}#
-                       #{w 1780}#
-                       #{s 1781}#
-                       #{mod 1783}#)))))))
-         (if (pair? #{e 1778}#)
-           (let ((#{first 1814}# (car #{e 1778}#)))
+                       #{type 1819}#
+                       (cdr #{b 1817}#)
+                       #{e 1797}#
+                       #{w 1799}#
+                       #{s 1800}#
+                       #{mod 1802}#)))))))
+         (if (pair? #{e 1797}#)
+           (let ((#{first 1833}# (car #{e 1797}#)))
              (call-with-values
                (lambda ()
-                 (#{syntax-type 421}#
-                   #{first 1814}#
-                   #{r 1779}#
-                   #{w 1780}#
-                   #{s 1781}#
-                   #{rib 1782}#
-                   #{mod 1783}#
+                 (#{syntax-type 439}#
+                   #{first 1833}#
+                   #{r 1798}#
+                   #{w 1799}#
+                   #{s 1800}#
+                   #{rib 1801}#
+                   #{mod 1802}#
                    #t))
-               (lambda (#{ftype 1815}#
-                        #{fval 1816}#
-                        #{fe 1817}#
-                        #{fw 1818}#
-                        #{fs 1819}#
-                        #{fmod 1820}#)
-                 (if (memv #{ftype 1815}# '(lexical))
+               (lambda (#{ftype 1834}#
+                        #{fval 1835}#
+                        #{fe 1836}#
+                        #{fw 1837}#
+                        #{fs 1838}#
+                        #{fmod 1839}#)
+                 (if (memv #{ftype 1834}# '(lexical))
                    (values
                      'lexical-call
-                     #{fval 1816}#
-                     #{e 1778}#
-                     #{w 1780}#
-                     #{s 1781}#
-                     #{mod 1783}#)
-                   (if (memv #{ftype 1815}# '(global))
+                     #{fval 1835}#
+                     #{e 1797}#
+                     #{w 1799}#
+                     #{s 1800}#
+                     #{mod 1802}#)
+                   (if (memv #{ftype 1834}# '(global))
                      (values
                        'global-call
-                       (#{make-syntax-object 307}#
-                         #{fval 1816}#
-                         #{w 1780}#
-                         #{fmod 1820}#)
-                       #{e 1778}#
-                       #{w 1780}#
-                       #{s 1781}#
-                       #{mod 1783}#)
-                     (if (memv #{ftype 1815}# '(macro))
-                       (#{syntax-type 421}#
-                         (#{chi-macro 429}#
-                           #{fval 1816}#
-                           #{e 1778}#
-                           #{r 1779}#
-                           #{w 1780}#
-                           #{s 1781}#
-                           #{rib 1782}#
-                           #{mod 1783}#)
-                         #{r 1779}#
+                       (#{make-syntax-object 314}#
+                         #{fval 1835}#
+                         #{w 1799}#
+                         #{fmod 1839}#)
+                       #{e 1797}#
+                       #{w 1799}#
+                       #{s 1800}#
+                       #{mod 1802}#)
+                     (if (memv #{ftype 1834}# '(macro))
+                       (#{syntax-type 439}#
+                         (#{chi-macro 447}#
+                           #{fval 1835}#
+                           #{e 1797}#
+                           #{r 1798}#
+                           #{w 1799}#
+                           #{s 1800}#
+                           #{rib 1801}#
+                           #{mod 1802}#)
+                         #{r 1798}#
                          '(())
-                         #{s 1781}#
-                         #{rib 1782}#
-                         #{mod 1783}#
-                         #{for-car? 1784}#)
-                       (if (memv #{ftype 1815}# '(module-ref))
+                         #{s 1800}#
+                         #{rib 1801}#
+                         #{mod 1802}#
+                         #{for-car? 1803}#)
+                       (if (memv #{ftype 1834}# '(module-ref))
                          (call-with-values
                            (lambda ()
-                             (#{fval 1816}# #{e 1778}# #{r 1779}# #{w 1780}#))
-                           (lambda (#{e 1832}#
-                                    #{r 1833}#
-                                    #{w 1834}#
-                                    #{s 1835}#
-                                    #{mod 1836}#)
-                             (#{syntax-type 421}#
-                               #{e 1832}#
-                               #{r 1833}#
-                               #{w 1834}#
-                               #{s 1835}#
-                               #{rib 1782}#
-                               #{mod 1836}#
-                               #{for-car? 1784}#)))
-                         (if (memv #{ftype 1815}# '(core))
+                             (#{fval 1835}# #{e 1797}# #{r 1798}# #{w 1799}#))
+                           (lambda (#{e 1851}#
+                                    #{r 1852}#
+                                    #{w 1853}#
+                                    #{s 1854}#
+                                    #{mod 1855}#)
+                             (#{syntax-type 439}#
+                               #{e 1851}#
+                               #{r 1852}#
+                               #{w 1853}#
+                               #{s 1854}#
+                               #{rib 1801}#
+                               #{mod 1855}#
+                               #{for-car? 1803}#)))
+                         (if (memv #{ftype 1834}# '(core))
                            (values
                              'core-form
-                             #{fval 1816}#
-                             #{e 1778}#
-                             #{w 1780}#
-                             #{s 1781}#
-                             #{mod 1783}#)
-                           (if (memv #{ftype 1815}# '(local-syntax))
+                             #{fval 1835}#
+                             #{e 1797}#
+                             #{w 1799}#
+                             #{s 1800}#
+                             #{mod 1802}#)
+                           (if (memv #{ftype 1834}# '(local-syntax))
                              (values
                                'local-syntax-form
-                               #{fval 1816}#
-                               #{e 1778}#
-                               #{w 1780}#
-                               #{s 1781}#
-                               #{mod 1783}#)
-                             (if (memv #{ftype 1815}# '(begin))
+                               #{fval 1835}#
+                               #{e 1797}#
+                               #{w 1799}#
+                               #{s 1800}#
+                               #{mod 1802}#)
+                             (if (memv #{ftype 1834}# '(begin))
                                (values
                                  'begin-form
                                  #f
-                                 #{e 1778}#
-                                 #{w 1780}#
-                                 #{s 1781}#
-                                 #{mod 1783}#)
-                               (if (memv #{ftype 1815}# '(eval-when))
+                                 #{e 1797}#
+                                 #{w 1799}#
+                                 #{s 1800}#
+                                 #{mod 1802}#)
+                               (if (memv #{ftype 1834}# '(eval-when))
                                  (values
                                    'eval-when-form
                                    #f
-                                   #{e 1778}#
-                                   #{w 1780}#
-                                   #{s 1781}#
-                                   #{mod 1783}#)
-                                 (if (memv #{ftype 1815}# '(define))
-                                   (let ((#{tmp 1847}# #{e 1778}#))
-                                     (let ((#{tmp 1848}#
-                                             ($sc-dispatch
-                                               #{tmp 1847}#
-                                               '(_ any any))))
-                                       (if (if #{tmp 1848}#
-                                             (@apply
-                                               (lambda (#{name 1851}#
-                                                        #{val 1852}#)
-                                                 (#{id? 343}# #{name 1851}#))
-                                               #{tmp 1848}#)
-                                             #f)
-                                         (@apply
-                                           (lambda (#{name 1855}# #{val 1856}#)
-                                             (values
-                                               'define-form
-                                               #{name 1855}#
-                                               #{val 1856}#
-                                               #{w 1780}#
-                                               #{s 1781}#
-                                               #{mod 1783}#))
-                                           #{tmp 1848}#)
-                                         (let ((#{tmp 1857}#
-                                                 ($sc-dispatch
-                                                   #{tmp 1847}#
-                                                   '(_ (any . any)
-                                                       any
-                                                       .
-                                                       each-any))))
-                                           (if (if #{tmp 1857}#
-                                                 (@apply
-                                                   (lambda (#{name 1862}#
-                                                            #{args 1863}#
-                                                            #{e1 1864}#
-                                                            #{e2 1865}#)
-                                                     (if (#{id? 343}#
-                                                           #{name 1862}#)
-                                                       (#{valid-bound-ids? 
403}#
-                                                         (#{lambda-var-list 
453}#
-                                                           #{args 1863}#))
-                                                       #f))
-                                                   #{tmp 1857}#)
-                                                 #f)
-                                             (@apply
-                                               (lambda (#{name 1872}#
-                                                        #{args 1873}#
-                                                        #{e1 1874}#
-                                                        #{e2 1875}#)
-                                                 (values
-                                                   'define-form
-                                                   (#{wrap 409}#
-                                                     #{name 1872}#
-                                                     #{w 1780}#
-                                                     #{mod 1783}#)
-                                                   (#{decorate-source 261}#
-                                                     (cons '#(syntax-object
-                                                              lambda
-                                                              ((top)
-                                                               #(ribcage
-                                                                 #(name
-                                                                   args
-                                                                   e1
-                                                                   e2)
-                                                                 #((top)
-                                                                   (top)
-                                                                   (top)
-                                                                   (top))
-                                                                 #("i1868"
-                                                                   "i1869"
-                                                                   "i1870"
-                                                                   "i1871"))
-                                                               #(ribcage
-                                                                 ()
-                                                                 ()
-                                                                 ())
-                                                               #(ribcage
-                                                                 ()
-                                                                 ()
-                                                                 ())
-                                                               #(ribcage
-                                                                 #(ftype
-                                                                   fval
-                                                                   fe
-                                                                   fw
-                                                                   fs
-                                                                   fmod)
-                                                                 #((top)
-                                                                   (top)
-                                                                   (top)
-                                                                   (top)
-                                                                   (top)
-                                                                   (top))
-                                                                 #("i1821"
-                                                                   "i1822"
-                                                                   "i1823"
-                                                                   "i1824"
-                                                                   "i1825"
-                                                                   "i1826"))
-                                                               #(ribcage
-                                                                 ()
-                                                                 ()
-                                                                 ())
-                                                               #(ribcage
-                                                                 #(first)
-                                                                 #((top))
-                                                                 #("i1813"))
-                                                               #(ribcage
-                                                                 ()
-                                                                 ()
-                                                                 ())
-                                                               #(ribcage
-                                                                 ()
-                                                                 ()
-                                                                 ())
-                                                               #(ribcage
-                                                                 ()
-                                                                 ()
-                                                                 ())
-                                                               #(ribcage
-                                                                 #(e
-                                                                   r
-                                                                   w
-                                                                   s
-                                                                   rib
-                                                                   mod
-                                                                   for-car?)
-                                                                 #((top)
-                                                                   (top)
-                                                                   (top)
-                                                                   (top)
-                                                                   (top)
-                                                                   (top)
-                                                                   (top))
-                                                                 #("i1785"
-                                                                   "i1786"
-                                                                   "i1787"
-                                                                   "i1788"
-                                                                   "i1789"
-                                                                   "i1790"
-                                                                   "i1791"))
-                                                               #(ribcage
-                                                                 
(lambda-var-list
-                                                                   gen-var
-                                                                   strip
-                                                                   
chi-lambda-case
-                                                                   
lambda*-formals
-                                                                   
chi-simple-lambda
-                                                                   
lambda-formals
-                                                                   ellipsis?
-                                                                   chi-void
-                                                                   
eval-local-transformer
-                                                                   
chi-local-syntax
-                                                                   chi-body
-                                                                   chi-macro
-                                                                   chi-call
-                                                                   chi-expr
-                                                                   chi
-                                                                   syntax-type
-                                                                   
chi-when-list
-                                                                   
chi-install-global
-                                                                   
chi-top-sequence
-                                                                   chi-sequence
-                                                                   source-wrap
-                                                                   wrap
-                                                                   
bound-id-member?
-                                                                   
distinct-bound-ids?
-                                                                   
valid-bound-ids?
-                                                                   bound-id=?
-                                                                   free-id=?
-                                                                   id-var-name
-                                                                   same-marks?
-                                                                   join-marks
-                                                                   join-wraps
-                                                                   smart-append
-                                                                   
make-binding-wrap
-                                                                   
extend-ribcage!
-                                                                   
make-empty-ribcage
-                                                                   new-mark
-                                                                   anti-mark
-                                                                   
the-anti-mark
-                                                                   top-marked?
-                                                                   top-wrap
-                                                                   empty-wrap
-                                                                   
set-ribcage-labels!
-                                                                   
set-ribcage-marks!
-                                                                   
set-ribcage-symnames!
-                                                                   
ribcage-labels
-                                                                   
ribcage-marks
-                                                                   
ribcage-symnames
-                                                                   ribcage?
-                                                                   make-ribcage
-                                                                   gen-labels
-                                                                   gen-label
-                                                                   make-rename
-                                                                   rename-marks
-                                                                   rename-new
-                                                                   rename-old
-                                                                   
subst-rename?
-                                                                   wrap-subst
-                                                                   wrap-marks
-                                                                   make-wrap
-                                                                   
id-sym-name&marks
-                                                                   id-sym-name
-                                                                   id?
-                                                                   
nonsymbol-id?
-                                                                   
global-extend
-                                                                   lookup
-                                                                   
macros-only-env
-                                                                   
extend-var-env
-                                                                   extend-env
-                                                                   null-env
-                                                                   
binding-value
-                                                                   binding-type
-                                                                   make-binding
-                                                                   arg-check
-                                                                   
source-annotation
-                                                                   no-source
-                                                                   
set-syntax-object-module!
-                                                                   
set-syntax-object-wrap!
-                                                                   
set-syntax-object-expression!
-                                                                   
syntax-object-module
-                                                                   
syntax-object-wrap
-                                                                   
syntax-object-expression
-                                                                   
syntax-object?
-                                                                   
make-syntax-object
-                                                                   
build-lexical-var
-                                                                   build-letrec
-                                                                   
build-named-let
-                                                                   build-let
-                                                                   
build-sequence
-                                                                   build-data
-                                                                   
build-primref
-                                                                   
build-primcall
-                                                                   
build-lambda-case
-                                                                   
build-case-lambda
-                                                                   
build-simple-lambda
-                                                                   
build-global-definition
-                                                                   
build-global-assignment
-                                                                   
build-global-reference
-                                                                   
analyze-variable
-                                                                   
build-lexical-assignment
-                                                                   
build-lexical-reference
-                                                                   build-dynlet
-                                                                   
build-conditional
-                                                                   build-call
-                                                                   build-void
-                                                                   
maybe-name-value!
-                                                                   
decorate-source
-                                                                   
get-global-definition-hook
-                                                                   
put-global-definition-hook
-                                                                   gensym-hook
-                                                                   
local-eval-hook
-                                                                   
top-level-eval-hook
-                                                                   fx<
-                                                                   fx=
-                                                                   fx-
-                                                                   fx+
-                                                                   
set-lambda-meta!
-                                                                   lambda-meta
-                                                                   lambda?
-                                                                   make-dynlet
-                                                                   make-letrec
-                                                                   make-let
-                                                                   
make-lambda-case
-                                                                   make-lambda
-                                                                   make-seq
-                                                                   
make-primcall
-                                                                   make-call
-                                                                   
make-conditional
-                                                                   
make-toplevel-define
-                                                                   
make-toplevel-set
-                                                                   
make-toplevel-ref
-                                                                   
make-module-set
-                                                                   
make-module-ref
-                                                                   
make-lexical-set
-                                                                   
make-lexical-ref
-                                                                   
make-primitive-ref
-                                                                   make-const
-                                                                   make-void)
-                                                                 ((top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top))
-                                                                 ("i452"
-                                                                  "i450"
-                                                                  "i448"
-                                                                  "i446"
-                                                                  "i444"
-                                                                  "i442"
-                                                                  "i440"
-                                                                  "i438"
-                                                                  "i436"
-                                                                  "i434"
-                                                                  "i432"
-                                                                  "i430"
-                                                                  "i428"
-                                                                  "i426"
-                                                                  "i424"
-                                                                  "i422"
-                                                                  "i420"
-                                                                  "i418"
-                                                                  "i416"
-                                                                  "i414"
-                                                                  "i412"
-                                                                  "i410"
-                                                                  "i408"
-                                                                  "i406"
-                                                                  "i404"
-                                                                  "i402"
-                                                                  "i400"
-                                                                  "i398"
-                                                                  "i396"
-                                                                  "i394"
-                                                                  "i392"
-                                                                  "i390"
-                                                                  "i388"
-                                                                  "i386"
-                                                                  "i384"
-                                                                  "i383"
-                                                                  "i382"
-                                                                  "i380"
-                                                                  "i379"
-                                                                  "i378"
-                                                                  "i377"
-                                                                  "i376"
-                                                                  "i374"
-                                                                  "i372"
-                                                                  "i370"
-                                                                  "i368"
-                                                                  "i366"
-                                                                  "i364"
-                                                                  "i362"
-                                                                  "i360"
-                                                                  "i357"
-                                                                  "i355"
-                                                                  "i354"
-                                                                  "i353"
-                                                                  "i352"
-                                                                  "i351"
-                                                                  "i350"
-                                                                  "i349"
-                                                                  "i348"
-                                                                  "i347"
-                                                                  "i345"
-                                                                  "i344"
-                                                                  "i342"
-                                                                  "i340"
-                                                                  "i338"
-                                                                  "i336"
-                                                                  "i334"
-                                                                  "i332"
-                                                                  "i330"
-                                                                  "i329"
-                                                                  "i328"
-                                                                  "i327"
-                                                                  "i326"
-                                                                  "i325"
-                                                                  "i323"
-                                                                  "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"
-                                                                  "i272"
-                                                                  "i270"
-                                                                  "i268"
-                                                                  "i266"
-                                                                  "i264"
-                                                                  "i262"
-                                                                  "i260"
-                                                                  "i258"
-                                                                  "i256"
-                                                                  "i255"
-                                                                  "i253"
-                                                                  "i251"
-                                                                  "i250"
-                                                                  "i249"
-                                                                  "i248"
-                                                                  "i247"
-                                                                  "i245"
-                                                                  "i243"
-                                                                  "i241"
-                                                                  "i238"
-                                                                  "i236"
-                                                                  "i234"
-                                                                  "i232"
-                                                                  "i230"
-                                                                  "i228"
-                                                                  "i226"
-                                                                  "i224"
-                                                                  "i222"
-                                                                  "i220"
-                                                                  "i218"
-                                                                  "i216"
-                                                                  "i214"
-                                                                  "i212"
-                                                                  "i210"
-                                                                  "i208"
-                                                                  "i206"
-                                                                  "i204"
-                                                                  "i202"))
-                                                               #(ribcage
-                                                                 
(define-structure
-                                                                   
define-expansion-accessors
-                                                                   
define-expansion-constructors)
-                                                                 ((top)
-                                                                  (top)
-                                                                  (top))
-                                                                 ("i40"
-                                                                  "i39"
-                                                                  "i38")))
-                                                              (hygiene guile))
-                                                           (#{wrap 409}#
-                                                             (cons #{args 
1873}#
-                                                                   (cons #{e1 
1874}#
-                                                                         #{e2 
1875}#))
-                                                             #{w 1780}#
-                                                             #{mod 1783}#))
-                                                     #{s 1781}#)
-                                                   '(())
-                                                   #{s 1781}#
-                                                   #{mod 1783}#))
-                                               #{tmp 1857}#)
-                                             (let ((#{tmp 1878}#
-                                                     ($sc-dispatch
-                                                       #{tmp 1847}#
-                                                       '(_ any))))
-                                               (if (if #{tmp 1878}#
-                                                     (@apply
-                                                       (lambda (#{name 1880}#)
-                                                         (#{id? 343}#
-                                                           #{name 1880}#))
-                                                       #{tmp 1878}#)
-                                                     #f)
-                                                 (@apply
-                                                   (lambda (#{name 1882}#)
-                                                     (values
-                                                       'define-form
-                                                       (#{wrap 409}#
-                                                         #{name 1882}#
-                                                         #{w 1780}#
-                                                         #{mod 1783}#)
-                                                       '(#(syntax-object
-                                                           if
-                                                           ((top)
-                                                            #(ribcage
-                                                              #(name)
-                                                              #((top))
-                                                              #("i1881"))
-                                                            #(ribcage () () ())
-                                                            #(ribcage () () ())
-                                                            #(ribcage
-                                                              #(ftype
-                                                                fval
-                                                                fe
-                                                                fw
-                                                                fs
-                                                                fmod)
-                                                              #((top)
+                                   #{e 1797}#
+                                   #{w 1799}#
+                                   #{s 1800}#
+                                   #{mod 1802}#)
+                                 (if (memv #{ftype 1834}# '(define))
+                                   (let ((#{tmp 1867}#
+                                           ($sc-dispatch
+                                             #{e 1797}#
+                                             '(_ any any))))
+                                     (if (if #{tmp 1867}#
+                                           (@apply
+                                             (lambda (#{name 1870}#
+                                                      #{val 1871}#)
+                                               (#{id? 353}# #{name 1870}#))
+                                             #{tmp 1867}#)
+                                           #f)
+                                       (@apply
+                                         (lambda (#{name 1874}# #{val 1875}#)
+                                           (values
+                                             'define-form
+                                             #{name 1874}#
+                                             #{val 1875}#
+                                             #{w 1799}#
+                                             #{s 1800}#
+                                             #{mod 1802}#))
+                                         #{tmp 1867}#)
+                                       (let ((#{tmp 1876}#
+                                               ($sc-dispatch
+                                                 #{e 1797}#
+                                                 '(_ (any . any)
+                                                     any
+                                                     .
+                                                     each-any))))
+                                         (if (if #{tmp 1876}#
+                                               (@apply
+                                                 (lambda (#{name 1881}#
+                                                          #{args 1882}#
+                                                          #{e1 1883}#
+                                                          #{e2 1884}#)
+                                                   (if (#{id? 353}#
+                                                         #{name 1881}#)
+                                                     (#{valid-bound-ids? 421}#
+                                                       (#{lambda-var-list 471}#
+                                                         #{args 1882}#))
+                                                     #f))
+                                                 #{tmp 1876}#)
+                                               #f)
+                                           (@apply
+                                             (lambda (#{name 1891}#
+                                                      #{args 1892}#
+                                                      #{e1 1893}#
+                                                      #{e2 1894}#)
+                                               (values
+                                                 'define-form
+                                                 (#{wrap 427}#
+                                                   #{name 1891}#
+                                                   #{w 1799}#
+                                                   #{mod 1802}#)
+                                                 (#{decorate-source 267}#
+                                                   (cons '#(syntax-object
+                                                            lambda
+                                                            ((top)
+                                                             #(ribcage
+                                                               #(name
+                                                                 args
+                                                                 e1
+                                                                 e2)
+                                                               #((top)
+                                                                 (top)
+                                                                 (top)
+                                                                 (top))
+                                                               #("i1887"
+                                                                 "i1888"
+                                                                 "i1889"
+                                                                 "i1890"))
+                                                             #(ribcage
+                                                               ()
+                                                               ()
+                                                               ())
+                                                             #(ribcage
+                                                               ()
+                                                               ()
+                                                               ())
+                                                             #(ribcage
+                                                               #(ftype
+                                                                 fval
+                                                                 fe
+                                                                 fw
+                                                                 fs
+                                                                 fmod)
+                                                               #((top)
+                                                                 (top)
+                                                                 (top)
+                                                                 (top)
+                                                                 (top)
+                                                                 (top))
+                                                               #("i1840"
+                                                                 "i1841"
+                                                                 "i1842"
+                                                                 "i1843"
+                                                                 "i1844"
+                                                                 "i1845"))
+                                                             #(ribcage
+                                                               ()
+                                                               ()
+                                                               ())
+                                                             #(ribcage
+                                                               #(first)
+                                                               #((top))
+                                                               #("i1832"))
+                                                             #(ribcage
+                                                               ()
+                                                               ()
+                                                               ())
+                                                             #(ribcage
+                                                               ()
+                                                               ()
+                                                               ())
+                                                             #(ribcage
+                                                               ()
+                                                               ()
+                                                               ())
+                                                             #(ribcage
+                                                               #(e
+                                                                 r
+                                                                 w
+                                                                 s
+                                                                 rib
+                                                                 mod
+                                                                 for-car?)
+                                                               #((top)
+                                                                 (top)
+                                                                 (top)
+                                                                 (top)
+                                                                 (top)
+                                                                 (top)
+                                                                 (top))
+                                                               #("i1804"
+                                                                 "i1805"
+                                                                 "i1806"
+                                                                 "i1807"
+                                                                 "i1808"
+                                                                 "i1809"
+                                                                 "i1810"))
+                                                             #(ribcage
+                                                               (lambda-var-list
+                                                                 gen-var
+                                                                 strip
+                                                                 
chi-lambda-case
+                                                                 
lambda*-formals
+                                                                 
chi-simple-lambda
+                                                                 lambda-formals
+                                                                 ellipsis?
+                                                                 chi-void
+                                                                 
eval-local-transformer
+                                                                 
chi-local-syntax
+                                                                 chi-body
+                                                                 chi-macro
+                                                                 chi-call
+                                                                 chi-expr
+                                                                 chi
+                                                                 syntax-type
+                                                                 chi-when-list
+                                                                 
chi-install-global
+                                                                 
chi-top-sequence
+                                                                 chi-sequence
+                                                                 source-wrap
+                                                                 wrap
+                                                                 
bound-id-member?
+                                                                 
distinct-bound-ids?
+                                                                 
valid-bound-ids?
+                                                                 bound-id=?
+                                                                 free-id=?
+                                                                 id-var-name
+                                                                 same-marks?
+                                                                 join-marks
+                                                                 join-wraps
+                                                                 smart-append
+                                                                 
make-binding-wrap
+                                                                 
extend-ribcage!
+                                                                 
make-empty-ribcage
+                                                                 new-mark
+                                                                 anti-mark
+                                                                 the-anti-mark
+                                                                 top-marked?
+                                                                 top-wrap
+                                                                 empty-wrap
+                                                                 
set-ribcage-labels!
+                                                                 
set-ribcage-marks!
+                                                                 
set-ribcage-symnames!
+                                                                 ribcage-labels
+                                                                 ribcage-marks
+                                                                 
ribcage-symnames
+                                                                 ribcage?
+                                                                 make-ribcage
+                                                                 gen-labels
+                                                                 gen-label
+                                                                 make-rename
+                                                                 rename-marks
+                                                                 rename-new
+                                                                 rename-old
+                                                                 subst-rename?
+                                                                 wrap-subst
+                                                                 wrap-marks
+                                                                 make-wrap
+                                                                 
id-sym-name&marks
+                                                                 id-sym-name
+                                                                 id?
+                                                                 nonsymbol-id?
+                                                                 global-extend
+                                                                 lookup
+                                                                 
macros-only-env
+                                                                 extend-var-env
+                                                                 extend-env
+                                                                 null-env
+                                                                 binding-value
+                                                                 binding-type
+                                                                 make-binding
+                                                                 arg-check
+                                                                 
source-annotation
+                                                                 no-source
+                                                                 
set-syntax-object-module!
+                                                                 
set-syntax-object-wrap!
+                                                                 
set-syntax-object-expression!
+                                                                 
syntax-object-module
+                                                                 
syntax-object-wrap
+                                                                 
syntax-object-expression
+                                                                 syntax-object?
+                                                                 
make-syntax-object
+                                                                 
build-lexical-var
+                                                                 build-letrec
+                                                                 
build-named-let
+                                                                 build-let
+                                                                 build-sequence
+                                                                 build-data
+                                                                 build-primref
+                                                                 build-primcall
+                                                                 
build-lambda-case
+                                                                 
build-case-lambda
+                                                                 
build-simple-lambda
+                                                                 
build-global-definition
+                                                                 
build-global-assignment
+                                                                 
build-global-reference
+                                                                 
analyze-variable
+                                                                 
build-lexical-assignment
+                                                                 
build-lexical-reference
+                                                                 build-dynlet
+                                                                 
build-conditional
+                                                                 build-call
+                                                                 build-void
+                                                                 
maybe-name-value!
+                                                                 
decorate-source
+                                                                 
get-global-definition-hook
+                                                                 
put-global-definition-hook
+                                                                 gensym-hook
+                                                                 
local-eval-hook
+                                                                 
top-level-eval-hook
+                                                                 fx<
+                                                                 fx=
+                                                                 fx-
+                                                                 fx+
+                                                                 
set-lambda-meta!
+                                                                 lambda-meta
+                                                                 lambda?
+                                                                 make-dynlet
+                                                                 make-letrec
+                                                                 make-let
+                                                                 
make-lambda-case
+                                                                 make-lambda
+                                                                 make-seq
+                                                                 make-primcall
+                                                                 make-call
+                                                                 
make-conditional
+                                                                 
make-toplevel-define
+                                                                 
make-toplevel-set
+                                                                 
make-toplevel-ref
+                                                                 
make-module-set
+                                                                 
make-module-ref
+                                                                 
make-lexical-set
+                                                                 
make-lexical-ref
+                                                                 
make-primitive-ref
+                                                                 make-const
+                                                                 make-void)
+                                                               ((top)
                                                                 (top)
                                                                 (top)
                                                                 (top)
                                                                 (top)
-                                                                (top))
-                                                              #("i1821"
-                                                                "i1822"
-                                                                "i1823"
-                                                                "i1824"
-                                                                "i1825"
-                                                                "i1826"))
-                                                            #(ribcage () () ())
-                                                            #(ribcage
-                                                              #(first)
-                                                              #((top))
-                                                              #("i1813"))
-                                                            #(ribcage () () ())
-                                                            #(ribcage () () ())
-                                                            #(ribcage () () ())
-                                                            #(ribcage
-                                                              #(e
-                                                                r
-                                                                w
-                                                                s
-                                                                rib
-                                                                mod
-                                                                for-car?)
-                                                              #((top)
                                                                 (top)
                                                                 (top)
                                                                 (top)
                                                                 (top)
                                                                 (top)
-                                                                (top))
-                                                              #("i1785"
-                                                                "i1786"
-                                                                "i1787"
-                                                                "i1788"
-                                                                "i1789"
-                                                                "i1790"
-                                                                "i1791"))
-                                                            #(ribcage
-                                                              (lambda-var-list
-                                                                gen-var
-                                                                strip
-                                                                chi-lambda-case
-                                                                lambda*-formals
-                                                                
chi-simple-lambda
-                                                                lambda-formals
-                                                                ellipsis?
-                                                                chi-void
-                                                                
eval-local-transformer
-                                                                
chi-local-syntax
-                                                                chi-body
-                                                                chi-macro
-                                                                chi-call
-                                                                chi-expr
-                                                                chi
-                                                                syntax-type
-                                                                chi-when-list
-                                                                
chi-install-global
-                                                                
chi-top-sequence
-                                                                chi-sequence
-                                                                source-wrap
-                                                                wrap
-                                                                
bound-id-member?
-                                                                
distinct-bound-ids?
-                                                                
valid-bound-ids?
-                                                                bound-id=?
-                                                                free-id=?
-                                                                id-var-name
-                                                                same-marks?
-                                                                join-marks
-                                                                join-wraps
-                                                                smart-append
-                                                                
make-binding-wrap
-                                                                extend-ribcage!
-                                                                
make-empty-ribcage
-                                                                new-mark
-                                                                anti-mark
-                                                                the-anti-mark
-                                                                top-marked?
-                                                                top-wrap
-                                                                empty-wrap
-                                                                
set-ribcage-labels!
-                                                                
set-ribcage-marks!
-                                                                
set-ribcage-symnames!
-                                                                ribcage-labels
-                                                                ribcage-marks
-                                                                
ribcage-symnames
-                                                                ribcage?
-                                                                make-ribcage
-                                                                gen-labels
-                                                                gen-label
-                                                                make-rename
-                                                                rename-marks
-                                                                rename-new
-                                                                rename-old
-                                                                subst-rename?
-                                                                wrap-subst
-                                                                wrap-marks
-                                                                make-wrap
-                                                                
id-sym-name&marks
-                                                                id-sym-name
-                                                                id?
-                                                                nonsymbol-id?
-                                                                global-extend
-                                                                lookup
-                                                                macros-only-env
-                                                                extend-var-env
-                                                                extend-env
-                                                                null-env
-                                                                binding-value
-                                                                binding-type
-                                                                make-binding
-                                                                arg-check
-                                                                
source-annotation
-                                                                no-source
-                                                                
set-syntax-object-module!
-                                                                
set-syntax-object-wrap!
-                                                                
set-syntax-object-expression!
-                                                                
syntax-object-module
-                                                                
syntax-object-wrap
-                                                                
syntax-object-expression
-                                                                syntax-object?
-                                                                
make-syntax-object
-                                                                
build-lexical-var
-                                                                build-letrec
-                                                                build-named-let
-                                                                build-let
-                                                                build-sequence
-                                                                build-data
-                                                                build-primref
-                                                                build-primcall
-                                                                
build-lambda-case
-                                                                
build-case-lambda
-                                                                
build-simple-lambda
-                                                                
build-global-definition
-                                                                
build-global-assignment
-                                                                
build-global-reference
-                                                                
analyze-variable
-                                                                
build-lexical-assignment
-                                                                
build-lexical-reference
-                                                                build-dynlet
-                                                                
build-conditional
-                                                                build-call
-                                                                build-void
-                                                                
maybe-name-value!
-                                                                decorate-source
-                                                                
get-global-definition-hook
-                                                                
put-global-definition-hook
-                                                                gensym-hook
-                                                                local-eval-hook
-                                                                
top-level-eval-hook
-                                                                fx<
-                                                                fx=
-                                                                fx-
-                                                                fx+
-                                                                
set-lambda-meta!
-                                                                lambda-meta
-                                                                lambda?
-                                                                make-dynlet
-                                                                make-letrec
-                                                                make-let
-                                                                
make-lambda-case
-                                                                make-lambda
-                                                                make-seq
-                                                                make-primcall
-                                                                make-call
-                                                                
make-conditional
-                                                                
make-toplevel-define
-                                                                
make-toplevel-set
-                                                                
make-toplevel-ref
-                                                                make-module-set
-                                                                make-module-ref
-                                                                
make-lexical-set
-                                                                
make-lexical-ref
-                                                                
make-primitive-ref
-                                                                make-const
-                                                                make-void)
-                                                              ((top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top))
-                                                              ("i452"
-                                                               "i450"
-                                                               "i448"
-                                                               "i446"
-                                                               "i444"
-                                                               "i442"
-                                                               "i440"
-                                                               "i438"
-                                                               "i436"
-                                                               "i434"
-                                                               "i432"
-                                                               "i430"
-                                                               "i428"
-                                                               "i426"
-                                                               "i424"
-                                                               "i422"
-                                                               "i420"
-                                                               "i418"
-                                                               "i416"
-                                                               "i414"
-                                                               "i412"
-                                                               "i410"
-                                                               "i408"
-                                                               "i406"
-                                                               "i404"
-                                                               "i402"
-                                                               "i400"
-                                                               "i398"
-                                                               "i396"
-                                                               "i394"
-                                                               "i392"
-                                                               "i390"
-                                                               "i388"
-                                                               "i386"
-                                                               "i384"
-                                                               "i383"
-                                                               "i382"
-                                                               "i380"
-                                                               "i379"
-                                                               "i378"
-                                                               "i377"
-                                                               "i376"
-                                                               "i374"
-                                                               "i372"
-                                                               "i370"
-                                                               "i368"
-                                                               "i366"
-                                                               "i364"
-                                                               "i362"
-                                                               "i360"
-                                                               "i357"
-                                                               "i355"
-                                                               "i354"
-                                                               "i353"
-                                                               "i352"
-                                                               "i351"
-                                                               "i350"
-                                                               "i349"
-                                                               "i348"
-                                                               "i347"
-                                                               "i345"
-                                                               "i344"
-                                                               "i342"
-                                                               "i340"
-                                                               "i338"
-                                                               "i336"
-                                                               "i334"
-                                                               "i332"
-                                                               "i330"
-                                                               "i329"
-                                                               "i328"
-                                                               "i327"
-                                                               "i326"
-                                                               "i325"
-                                                               "i323"
-                                                               "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"
-                                                               "i272"
-                                                               "i270"
-                                                               "i268"
-                                                               "i266"
-                                                               "i264"
-                                                               "i262"
-                                                               "i260"
-                                                               "i258"
-                                                               "i256"
-                                                               "i255"
-                                                               "i253"
-                                                               "i251"
-                                                               "i250"
-                                                               "i249"
-                                                               "i248"
-                                                               "i247"
-                                                               "i245"
-                                                               "i243"
-                                                               "i241"
-                                                               "i238"
-                                                               "i236"
-                                                               "i234"
-                                                               "i232"
-                                                               "i230"
-                                                               "i228"
-                                                               "i226"
-                                                               "i224"
-                                                               "i222"
-                                                               "i220"
-                                                               "i218"
-                                                               "i216"
-                                                               "i214"
-                                                               "i212"
-                                                               "i210"
-                                                               "i208"
-                                                               "i206"
-                                                               "i204"
-                                                               "i202"))
-                                                            #(ribcage
-                                                              (define-structure
-                                                                
define-expansion-accessors
-                                                                
define-expansion-constructors)
-                                                              ((top)
-                                                               (top)
-                                                               (top))
-                                                              ("i40"
-                                                               "i39"
-                                                               "i38")))
-                                                           (hygiene guile))
-                                                         #(syntax-object
-                                                           #f
-                                                           ((top)
-                                                            #(ribcage
-                                                              #(name)
-                                                              #((top))
-                                                              #("i1881"))
-                                                            #(ribcage () () ())
-                                                            #(ribcage () () ())
-                                                            #(ribcage
-                                                              #(ftype
-                                                                fval
-                                                                fe
-                                                                fw
-                                                                fs
-                                                                fmod)
-                                                              #((top)
                                                                 (top)
                                                                 (top)
                                                                 (top)
                                                                 (top)
-                                                                (top))
-                                                              #("i1821"
-                                                                "i1822"
-                                                                "i1823"
-                                                                "i1824"
-                                                                "i1825"
-                                                                "i1826"))
-                                                            #(ribcage () () ())
-                                                            #(ribcage
-                                                              #(first)
-                                                              #((top))
-                                                              #("i1813"))
-                                                            #(ribcage () () ())
-                                                            #(ribcage () () ())
-                                                            #(ribcage () () ())
-                                                            #(ribcage
-                                                              #(e
-                                                                r
-                                                                w
-                                                                s
-                                                                rib
-                                                                mod
-                                                                for-car?)
-                                                              #((top)
                                                                 (top)
                                                                 (top)
                                                                 (top)
                                                                 (top)
                                                                 (top)
-                                                                (top))
-                                                              #("i1785"
-                                                                "i1786"
-                                                                "i1787"
-                                                                "i1788"
-                                                                "i1789"
-                                                                "i1790"
-                                                                "i1791"))
-                                                            #(ribcage
-                                                              (lambda-var-list
-                                                                gen-var
-                                                                strip
-                                                                chi-lambda-case
-                                                                lambda*-formals
-                                                                
chi-simple-lambda
-                                                                lambda-formals
-                                                                ellipsis?
-                                                                chi-void
-                                                                
eval-local-transformer
-                                                                
chi-local-syntax
-                                                                chi-body
-                                                                chi-macro
-                                                                chi-call
-                                                                chi-expr
-                                                                chi
-                                                                syntax-type
-                                                                chi-when-list
-                                                                
chi-install-global
-                                                                
chi-top-sequence
-                                                                chi-sequence
-                                                                source-wrap
-                                                                wrap
-                                                                
bound-id-member?
-                                                                
distinct-bound-ids?
-                                                                
valid-bound-ids?
-                                                                bound-id=?
-                                                                free-id=?
-                                                                id-var-name
-                                                                same-marks?
-                                                                join-marks
-                                                                join-wraps
-                                                                smart-append
-                                                                
make-binding-wrap
-                                                                extend-ribcage!
-                                                                
make-empty-ribcage
-                                                                new-mark
-                                                                anti-mark
-                                                                the-anti-mark
-                                                                top-marked?
-                                                                top-wrap
-                                                                empty-wrap
-                                                                
set-ribcage-labels!
-                                                                
set-ribcage-marks!
-                                                                
set-ribcage-symnames!
-                                                                ribcage-labels
-                                                                ribcage-marks
-                                                                
ribcage-symnames
-                                                                ribcage?
-                                                                make-ribcage
-                                                                gen-labels
-                                                                gen-label
-                                                                make-rename
-                                                                rename-marks
-                                                                rename-new
-                                                                rename-old
-                                                                subst-rename?
-                                                                wrap-subst
-                                                                wrap-marks
-                                                                make-wrap
-                                                                
id-sym-name&marks
-                                                                id-sym-name
-                                                                id?
-                                                                nonsymbol-id?
-                                                                global-extend
-                                                                lookup
-                                                                macros-only-env
-                                                                extend-var-env
-                                                                extend-env
-                                                                null-env
-                                                                binding-value
-                                                                binding-type
-                                                                make-binding
-                                                                arg-check
-                                                                
source-annotation
-                                                                no-source
-                                                                
set-syntax-object-module!
-                                                                
set-syntax-object-wrap!
-                                                                
set-syntax-object-expression!
-                                                                
syntax-object-module
-                                                                
syntax-object-wrap
-                                                                
syntax-object-expression
-                                                                syntax-object?
-                                                                
make-syntax-object
-                                                                
build-lexical-var
-                                                                build-letrec
-                                                                build-named-let
-                                                                build-let
-                                                                build-sequence
-                                                                build-data
-                                                                build-primref
-                                                                build-primcall
-                                                                
build-lambda-case
-                                                                
build-case-lambda
-                                                                
build-simple-lambda
-                                                                
build-global-definition
-                                                                
build-global-assignment
-                                                                
build-global-reference
-                                                                
analyze-variable
-                                                                
build-lexical-assignment
-                                                                
build-lexical-reference
-                                                                build-dynlet
-                                                                
build-conditional
-                                                                build-call
-                                                                build-void
-                                                                
maybe-name-value!
-                                                                decorate-source
-                                                                
get-global-definition-hook
-                                                                
put-global-definition-hook
-                                                                gensym-hook
-                                                                local-eval-hook
-                                                                
top-level-eval-hook
-                                                                fx<
-                                                                fx=
-                                                                fx-
-                                                                fx+
-                                                                
set-lambda-meta!
-                                                                lambda-meta
-                                                                lambda?
-                                                                make-dynlet
-                                                                make-letrec
-                                                                make-let
-                                                                
make-lambda-case
-                                                                make-lambda
-                                                                make-seq
-                                                                make-primcall
-                                                                make-call
-                                                                
make-conditional
-                                                                
make-toplevel-define
-                                                                
make-toplevel-set
-                                                                
make-toplevel-ref
-                                                                make-module-set
-                                                                make-module-ref
-                                                                
make-lexical-set
-                                                                
make-lexical-ref
-                                                                
make-primitive-ref
-                                                                make-const
-                                                                make-void)
-                                                              ((top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top))
-                                                              ("i452"
-                                                               "i450"
-                                                               "i448"
-                                                               "i446"
-                                                               "i444"
-                                                               "i442"
-                                                               "i440"
-                                                               "i438"
-                                                               "i436"
-                                                               "i434"
-                                                               "i432"
-                                                               "i430"
-                                                               "i428"
-                                                               "i426"
-                                                               "i424"
-                                                               "i422"
-                                                               "i420"
-                                                               "i418"
-                                                               "i416"
-                                                               "i414"
-                                                               "i412"
-                                                               "i410"
-                                                               "i408"
-                                                               "i406"
-                                                               "i404"
-                                                               "i402"
-                                                               "i400"
-                                                               "i398"
-                                                               "i396"
-                                                               "i394"
-                                                               "i392"
-                                                               "i390"
-                                                               "i388"
-                                                               "i386"
-                                                               "i384"
-                                                               "i383"
-                                                               "i382"
-                                                               "i380"
-                                                               "i379"
-                                                               "i378"
-                                                               "i377"
-                                                               "i376"
-                                                               "i374"
-                                                               "i372"
-                                                               "i370"
-                                                               "i368"
-                                                               "i366"
-                                                               "i364"
-                                                               "i362"
-                                                               "i360"
-                                                               "i357"
-                                                               "i355"
-                                                               "i354"
-                                                               "i353"
-                                                               "i352"
-                                                               "i351"
-                                                               "i350"
-                                                               "i349"
-                                                               "i348"
-                                                               "i347"
-                                                               "i345"
-                                                               "i344"
-                                                               "i342"
-                                                               "i340"
-                                                               "i338"
-                                                               "i336"
-                                                               "i334"
-                                                               "i332"
-                                                               "i330"
-                                                               "i329"
-                                                               "i328"
-                                                               "i327"
-                                                               "i326"
-                                                               "i325"
-                                                               "i323"
-                                                               "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"
-                                                               "i272"
-                                                               "i270"
-                                                               "i268"
-                                                               "i266"
-                                                               "i264"
-                                                               "i262"
-                                                               "i260"
-                                                               "i258"
-                                                               "i256"
-                                                               "i255"
-                                                               "i253"
-                                                               "i251"
-                                                               "i250"
-                                                               "i249"
-                                                               "i248"
-                                                               "i247"
-                                                               "i245"
-                                                               "i243"
-                                                               "i241"
-                                                               "i238"
-                                                               "i236"
-                                                               "i234"
-                                                               "i232"
-                                                               "i230"
-                                                               "i228"
-                                                               "i226"
-                                                               "i224"
-                                                               "i222"
-                                                               "i220"
-                                                               "i218"
-                                                               "i216"
-                                                               "i214"
-                                                               "i212"
-                                                               "i210"
-                                                               "i208"
-                                                               "i206"
-                                                               "i204"
-                                                               "i202"))
-                                                            #(ribcage
-                                                              (define-structure
-                                                                
define-expansion-accessors
-                                                                
define-expansion-constructors)
-                                                              ((top)
-                                                               (top)
-                                                               (top))
-                                                              ("i40"
-                                                               "i39"
-                                                               "i38")))
-                                                           (hygiene guile))
-                                                         #(syntax-object
-                                                           #f
-                                                           ((top)
-                                                            #(ribcage
-                                                              #(name)
-                                                              #((top))
-                                                              #("i1881"))
-                                                            #(ribcage () () ())
-                                                            #(ribcage () () ())
-                                                            #(ribcage
-                                                              #(ftype
-                                                                fval
-                                                                fe
-                                                                fw
-                                                                fs
-                                                                fmod)
-                                                              #((top)
                                                                 (top)
                                                                 (top)
                                                                 (top)
                                                                 (top)
-                                                                (top))
-                                                              #("i1821"
-                                                                "i1822"
-                                                                "i1823"
-                                                                "i1824"
-                                                                "i1825"
-                                                                "i1826"))
-                                                            #(ribcage () () ())
-                                                            #(ribcage
-                                                              #(first)
-                                                              #((top))
-                                                              #("i1813"))
-                                                            #(ribcage () () ())
-                                                            #(ribcage () () ())
-                                                            #(ribcage () () ())
-                                                            #(ribcage
-                                                              #(e
-                                                                r
-                                                                w
-                                                                s
-                                                                rib
-                                                                mod
-                                                                for-car?)
-                                                              #((top)
                                                                 (top)
                                                                 (top)
                                                                 (top)
                                                                 (top)
                                                                 (top)
-                                                                (top))
-                                                              #("i1785"
-                                                                "i1786"
-                                                                "i1787"
-                                                                "i1788"
-                                                                "i1789"
-                                                                "i1790"
-                                                                "i1791"))
-                                                            #(ribcage
-                                                              (lambda-var-list
-                                                                gen-var
-                                                                strip
-                                                                chi-lambda-case
-                                                                lambda*-formals
-                                                                
chi-simple-lambda
-                                                                lambda-formals
-                                                                ellipsis?
-                                                                chi-void
-                                                                
eval-local-transformer
-                                                                
chi-local-syntax
-                                                                chi-body
-                                                                chi-macro
-                                                                chi-call
-                                                                chi-expr
-                                                                chi
-                                                                syntax-type
-                                                                chi-when-list
-                                                                
chi-install-global
-                                                                
chi-top-sequence
-                                                                chi-sequence
-                                                                source-wrap
-                                                                wrap
-                                                                
bound-id-member?
-                                                                
distinct-bound-ids?
-                                                                
valid-bound-ids?
-                                                                bound-id=?
-                                                                free-id=?
-                                                                id-var-name
-                                                                same-marks?
-                                                                join-marks
-                                                                join-wraps
-                                                                smart-append
-                                                                
make-binding-wrap
-                                                                extend-ribcage!
-                                                                
make-empty-ribcage
-                                                                new-mark
-                                                                anti-mark
-                                                                the-anti-mark
-                                                                top-marked?
-                                                                top-wrap
-                                                                empty-wrap
-                                                                
set-ribcage-labels!
-                                                                
set-ribcage-marks!
-                                                                
set-ribcage-symnames!
-                                                                ribcage-labels
-                                                                ribcage-marks
-                                                                
ribcage-symnames
-                                                                ribcage?
-                                                                make-ribcage
-                                                                gen-labels
-                                                                gen-label
-                                                                make-rename
-                                                                rename-marks
-                                                                rename-new
-                                                                rename-old
-                                                                subst-rename?
-                                                                wrap-subst
-                                                                wrap-marks
-                                                                make-wrap
-                                                                
id-sym-name&marks
-                                                                id-sym-name
-                                                                id?
-                                                                nonsymbol-id?
-                                                                global-extend
-                                                                lookup
-                                                                macros-only-env
-                                                                extend-var-env
-                                                                extend-env
-                                                                null-env
-                                                                binding-value
-                                                                binding-type
-                                                                make-binding
-                                                                arg-check
-                                                                
source-annotation
-                                                                no-source
-                                                                
set-syntax-object-module!
-                                                                
set-syntax-object-wrap!
-                                                                
set-syntax-object-expression!
-                                                                
syntax-object-module
-                                                                
syntax-object-wrap
-                                                                
syntax-object-expression
-                                                                syntax-object?
-                                                                
make-syntax-object
-                                                                
build-lexical-var
-                                                                build-letrec
-                                                                build-named-let
-                                                                build-let
-                                                                build-sequence
-                                                                build-data
-                                                                build-primref
-                                                                build-primcall
-                                                                
build-lambda-case
-                                                                
build-case-lambda
-                                                                
build-simple-lambda
-                                                                
build-global-definition
-                                                                
build-global-assignment
-                                                                
build-global-reference
-                                                                
analyze-variable
-                                                                
build-lexical-assignment
-                                                                
build-lexical-reference
-                                                                build-dynlet
-                                                                
build-conditional
-                                                                build-call
-                                                                build-void
-                                                                
maybe-name-value!
-                                                                decorate-source
-                                                                
get-global-definition-hook
-                                                                
put-global-definition-hook
-                                                                gensym-hook
-                                                                local-eval-hook
-                                                                
top-level-eval-hook
-                                                                fx<
-                                                                fx=
-                                                                fx-
-                                                                fx+
-                                                                
set-lambda-meta!
-                                                                lambda-meta
-                                                                lambda?
-                                                                make-dynlet
-                                                                make-letrec
-                                                                make-let
-                                                                
make-lambda-case
-                                                                make-lambda
-                                                                make-seq
-                                                                make-primcall
-                                                                make-call
-                                                                
make-conditional
-                                                                
make-toplevel-define
-                                                                
make-toplevel-set
-                                                                
make-toplevel-ref
-                                                                make-module-set
-                                                                make-module-ref
-                                                                
make-lexical-set
-                                                                
make-lexical-ref
-                                                                
make-primitive-ref
-                                                                make-const
-                                                                make-void)
-                                                              ((top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top)
-                                                               (top))
-                                                              ("i452"
-                                                               "i450"
-                                                               "i448"
-                                                               "i446"
-                                                               "i444"
-                                                               "i442"
-                                                               "i440"
-                                                               "i438"
-                                                               "i436"
-                                                               "i434"
-                                                               "i432"
-                                                               "i430"
-                                                               "i428"
-                                                               "i426"
-                                                               "i424"
-                                                               "i422"
-                                                               "i420"
-                                                               "i418"
-                                                               "i416"
-                                                               "i414"
-                                                               "i412"
-                                                               "i410"
-                                                               "i408"
-                                                               "i406"
-                                                               "i404"
-                                                               "i402"
-                                                               "i400"
-                                                               "i398"
-                                                               "i396"
-                                                               "i394"
-                                                               "i392"
-                                                               "i390"
-                                                               "i388"
-                                                               "i386"
-                                                               "i384"
-                                                               "i383"
-                                                               "i382"
-                                                               "i380"
-                                                               "i379"
-                                                               "i378"
-                                                               "i377"
-                                                               "i376"
-                                                               "i374"
-                                                               "i372"
-                                                               "i370"
-                                                               "i368"
-                                                               "i366"
-                                                               "i364"
-                                                               "i362"
-                                                               "i360"
-                                                               "i357"
-                                                               "i355"
-                                                               "i354"
-                                                               "i353"
-                                                               "i352"
-                                                               "i351"
-                                                               "i350"
-                                                               "i349"
-                                                               "i348"
-                                                               "i347"
-                                                               "i345"
-                                                               "i344"
-                                                               "i342"
-                                                               "i340"
-                                                               "i338"
-                                                               "i336"
-                                                               "i334"
-                                                               "i332"
-                                                               "i330"
-                                                               "i329"
-                                                               "i328"
-                                                               "i327"
-                                                               "i326"
-                                                               "i325"
-                                                               "i323"
-                                                               "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"
-                                                               "i272"
-                                                               "i270"
-                                                               "i268"
-                                                               "i266"
-                                                               "i264"
-                                                               "i262"
-                                                               "i260"
-                                                               "i258"
-                                                               "i256"
-                                                               "i255"
-                                                               "i253"
-                                                               "i251"
-                                                               "i250"
-                                                               "i249"
-                                                               "i248"
-                                                               "i247"
-                                                               "i245"
-                                                               "i243"
-                                                               "i241"
-                                                               "i238"
-                                                               "i236"
-                                                               "i234"
-                                                               "i232"
-                                                               "i230"
-                                                               "i228"
-                                                               "i226"
-                                                               "i224"
-                                                               "i222"
-                                                               "i220"
-                                                               "i218"
-                                                               "i216"
-                                                               "i214"
-                                                               "i212"
-                                                               "i210"
-                                                               "i208"
-                                                               "i206"
-                                                               "i204"
-                                                               "i202"))
-                                                            #(ribcage
-                                                              (define-structure
-                                                                
define-expansion-accessors
-                                                                
define-expansion-constructors)
-                                                              ((top)
-                                                               (top)
-                                                               (top))
-                                                              ("i40"
-                                                               "i39"
-                                                               "i38")))
-                                                           (hygiene guile)))
-                                                       '(())
-                                                       #{s 1781}#
-                                                       #{mod 1783}#))
-                                                   #{tmp 1878}#)
-                                                 (syntax-violation
-                                                   #f
-                                                   "source expression failed 
to match any pattern"
-                                                   #{tmp 1847}#))))))))
-                                   (if (memv #{ftype 1815}# '(define-syntax))
-                                     (let ((#{tmp 1885}# #{e 1778}#))
-                                       (let ((#{tmp 1886}#
-                                               ($sc-dispatch
-                                                 #{tmp 1885}#
-                                                 '(_ any any))))
-                                         (if (if #{tmp 1886}#
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top))
+                                                               ("i470"
+                                                                "i468"
+                                                                "i466"
+                                                                "i464"
+                                                                "i462"
+                                                                "i460"
+                                                                "i458"
+                                                                "i456"
+                                                                "i454"
+                                                                "i452"
+                                                                "i450"
+                                                                "i448"
+                                                                "i446"
+                                                                "i444"
+                                                                "i442"
+                                                                "i440"
+                                                                "i438"
+                                                                "i436"
+                                                                "i434"
+                                                                "i432"
+                                                                "i430"
+                                                                "i428"
+                                                                "i426"
+                                                                "i424"
+                                                                "i422"
+                                                                "i420"
+                                                                "i418"
+                                                                "i416"
+                                                                "i414"
+                                                                "i412"
+                                                                "i410"
+                                                                "i408"
+                                                                "i406"
+                                                                "i404"
+                                                                "i402"
+                                                                "i401"
+                                                                "i399"
+                                                                "i396"
+                                                                "i395"
+                                                                "i394"
+                                                                "i392"
+                                                                "i391"
+                                                                "i389"
+                                                                "i387"
+                                                                "i385"
+                                                                "i383"
+                                                                "i381"
+                                                                "i379"
+                                                                "i377"
+                                                                "i375"
+                                                                "i372"
+                                                                "i370"
+                                                                "i369"
+                                                                "i367"
+                                                                "i365"
+                                                                "i363"
+                                                                "i361"
+                                                                "i360"
+                                                                "i359"
+                                                                "i358"
+                                                                "i356"
+                                                                "i355"
+                                                                "i352"
+                                                                "i350"
+                                                                "i348"
+                                                                "i346"
+                                                                "i344"
+                                                                "i342"
+                                                                "i340"
+                                                                "i339"
+                                                                "i338"
+                                                                "i336"
+                                                                "i334"
+                                                                "i333"
+                                                                "i330"
+                                                                "i329"
+                                                                "i327"
+                                                                "i325"
+                                                                "i323"
+                                                                "i321"
+                                                                "i319"
+                                                                "i317"
+                                                                "i315"
+                                                                "i313"
+                                                                "i311"
+                                                                "i308"
+                                                                "i306"
+                                                                "i304"
+                                                                "i302"
+                                                                "i300"
+                                                                "i298"
+                                                                "i296"
+                                                                "i294"
+                                                                "i292"
+                                                                "i290"
+                                                                "i288"
+                                                                "i286"
+                                                                "i284"
+                                                                "i282"
+                                                                "i280"
+                                                                "i278"
+                                                                "i276"
+                                                                "i274"
+                                                                "i272"
+                                                                "i270"
+                                                                "i268"
+                                                                "i266"
+                                                                "i264"
+                                                                "i262"
+                                                                "i261"
+                                                                "i258"
+                                                                "i256"
+                                                                "i255"
+                                                                "i254"
+                                                                "i253"
+                                                                "i252"
+                                                                "i250"
+                                                                "i248"
+                                                                "i246"
+                                                                "i243"
+                                                                "i241"
+                                                                "i239"
+                                                                "i237"
+                                                                "i235"
+                                                                "i233"
+                                                                "i231"
+                                                                "i229"
+                                                                "i227"
+                                                                "i225"
+                                                                "i223"
+                                                                "i221"
+                                                                "i219"
+                                                                "i217"
+                                                                "i215"
+                                                                "i213"
+                                                                "i211"
+                                                                "i209"
+                                                                "i207"))
+                                                             #(ribcage
+                                                               
(define-structure
+                                                                 
define-expansion-accessors
+                                                                 
define-expansion-constructors)
+                                                               ((top)
+                                                                (top)
+                                                                (top))
+                                                               ("i45"
+                                                                "i44"
+                                                                "i43")))
+                                                            (hygiene guile))
+                                                         (#{wrap 427}#
+                                                           (cons #{args 1892}#
+                                                                 (cons #{e1 
1893}#
+                                                                       #{e2 
1894}#))
+                                                           #{w 1799}#
+                                                           #{mod 1802}#))
+                                                   #{s 1800}#)
+                                                 '(())
+                                                 #{s 1800}#
+                                                 #{mod 1802}#))
+                                             #{tmp 1876}#)
+                                           (let ((#{tmp 1897}#
+                                                   ($sc-dispatch
+                                                     #{e 1797}#
+                                                     '(_ any))))
+                                             (if (if #{tmp 1897}#
+                                                   (@apply
+                                                     (lambda (#{name 1899}#)
+                                                       (#{id? 353}#
+                                                         #{name 1899}#))
+                                                     #{tmp 1897}#)
+                                                   #f)
                                                (@apply
-                                                 (lambda (#{name 1889}#
-                                                          #{val 1890}#)
-                                                   (#{id? 343}# #{name 1889}#))
-                                                 #{tmp 1886}#)
-                                               #f)
-                                           (@apply
-                                             (lambda (#{name 1893}#
-                                                      #{val 1894}#)
-                                               (values
-                                                 'define-syntax-form
-                                                 #{name 1893}#
-                                                 #{val 1894}#
-                                                 #{w 1780}#
-                                                 #{s 1781}#
-                                                 #{mod 1783}#))
-                                             #{tmp 1886}#)
-                                           (syntax-violation
-                                             #f
-                                             "source expression failed to 
match any pattern"
-                                             #{tmp 1885}#))))
-                                     (values
-                                       'call
-                                       #f
-                                       #{e 1778}#
-                                       #{w 1780}#
-                                       #{s 1781}#
-                                       #{mod 1783}#))))))))))))))
-           (if (#{syntax-object? 309}# #{e 1778}#)
-             (#{syntax-type 421}#
-               (#{syntax-object-expression 311}# #{e 1778}#)
-               #{r 1779}#
-               (#{join-wraps 391}#
-                 #{w 1780}#
-                 (#{syntax-object-wrap 313}# #{e 1778}#))
-               (let ((#{t 1900}#
-                       (#{source-annotation 324}# #{e 1778}#)))
-                 (if #{t 1900}# #{t 1900}# #{s 1781}#))
-               #{rib 1782}#
-               (let ((#{t 1904}#
-                       (#{syntax-object-module 315}# #{e 1778}#)))
-                 (if #{t 1904}# #{t 1904}# #{mod 1783}#))
-               #{for-car? 1784}#)
-             (if (self-evaluating? #{e 1778}#)
-               (values
-                 'constant
-                 #f
-                 #{e 1778}#
-                 #{w 1780}#
-                 #{s 1781}#
-                 #{mod 1783}#)
-               (values
-                 'other
-                 #f
-                 #{e 1778}#
-                 #{w 1780}#
-                 #{s 1781}#
-                 #{mod 1783}#)))))))
-   (#{chi 423}#
-     (lambda (#{e 1909}# #{r 1910}# #{w 1911}# #{mod 1912}#)
-       (call-with-values
-         (lambda ()
-           (#{syntax-type 421}#
-             #{e 1909}#
-             #{r 1910}#
-             #{w 1911}#
-             (#{source-annotation 324}# #{e 1909}#)
-             #f
-             #{mod 1912}#
-             #f))
-         (lambda (#{type 1917}#
-                  #{value 1918}#
-                  #{e 1919}#
-                  #{w 1920}#
-                  #{s 1921}#
-                  #{mod 1922}#)
-           (#{chi-expr 425}#
-             #{type 1917}#
-             #{value 1918}#
-             #{e 1919}#
-             #{r 1910}#
-             #{w 1920}#
-             #{s 1921}#
-             #{mod 1922}#)))))
-   (#{chi-expr 425}#
-     (lambda (#{type 1929}#
-              #{value 1930}#
-              #{e 1931}#
-              #{r 1932}#
-              #{w 1933}#
-              #{s 1934}#
-              #{mod 1935}#)
-       (if (memv #{type 1929}# '(lexical))
-         (#{build-lexical-reference 273}#
-           'value
-           #{s 1934}#
-           #{e 1931}#
-           #{value 1930}#)
-         (if (memv #{type 1929}# '(core core-form))
-           (#{value 1930}#
-             #{e 1931}#
-             #{r 1932}#
-             #{w 1933}#
-             #{s 1934}#
-             #{mod 1935}#)
-           (if (memv #{type 1929}# '(module-ref))
-             (call-with-values
-               (lambda ()
-                 (#{value 1930}# #{e 1931}# #{r 1932}# #{w 1933}#))
-               (lambda (#{e 1946}#
-                        #{r 1947}#
-                        #{w 1948}#
-                        #{s 1949}#
-                        #{mod 1950}#)
-                 (#{chi 423}#
-                   #{e 1946}#
-                   #{r 1947}#
-                   #{w 1948}#
-                   #{mod 1950}#)))
-             (if (memv #{type 1929}# '(lexical-call))
-               (#{chi-call 427}#
-                 (let ((#{id 1958}# (car #{e 1931}#)))
-                   (#{build-lexical-reference 273}#
-                     'fun
-                     (#{source-annotation 324}# #{id 1958}#)
-                     (if (#{syntax-object? 309}# #{id 1958}#)
-                       (syntax->datum #{id 1958}#)
-                       #{id 1958}#)
-                     #{value 1930}#))
-                 #{e 1931}#
-                 #{r 1932}#
-                 #{w 1933}#
-                 #{s 1934}#
-                 #{mod 1935}#)
-               (if (memv #{type 1929}# '(global-call))
-                 (#{chi-call 427}#
-                   (#{build-global-reference 279}#
-                     (#{source-annotation 324}# (car #{e 1931}#))
-                     (if (#{syntax-object? 309}# #{value 1930}#)
-                       (#{syntax-object-expression 311}# #{value 1930}#)
-                       #{value 1930}#)
-                     (if (#{syntax-object? 309}# #{value 1930}#)
-                       (#{syntax-object-module 315}# #{value 1930}#)
-                       #{mod 1935}#))
-                   #{e 1931}#
-                   #{r 1932}#
-                   #{w 1933}#
-                   #{s 1934}#
-                   #{mod 1935}#)
-                 (if (memv #{type 1929}# '(constant))
-                   (#{build-data 295}#
-                     #{s 1934}#
-                     (#{strip 449}#
-                       (#{source-wrap 411}#
-                         #{e 1931}#
-                         #{w 1933}#
-                         #{s 1934}#
-                         #{mod 1935}#)
-                       '(())))
-                   (if (memv #{type 1929}# '(global))
-                     (#{build-global-reference 279}#
-                       #{s 1934}#
-                       #{value 1930}#
-                       #{mod 1935}#)
-                     (if (memv #{type 1929}# '(call))
-                       (#{chi-call 427}#
-                         (#{chi 423}#
-                           (car #{e 1931}#)
-                           #{r 1932}#
-                           #{w 1933}#
-                           #{mod 1935}#)
-                         #{e 1931}#
-                         #{r 1932}#
-                         #{w 1933}#
-                         #{s 1934}#
-                         #{mod 1935}#)
-                       (if (memv #{type 1929}# '(begin-form))
-                         (let ((#{tmp 1965}# #{e 1931}#))
-                           (let ((#{tmp 1966}#
-                                   ($sc-dispatch
-                                     #{tmp 1965}#
-                                     '(_ any . each-any))))
-                             (if #{tmp 1966}#
-                               (@apply
-                                 (lambda (#{e1 1969}# #{e2 1970}#)
-                                   (#{chi-sequence 413}#
-                                     (cons #{e1 1969}# #{e2 1970}#)
-                                     #{r 1932}#
-                                     #{w 1933}#
-                                     #{s 1934}#
-                                     #{mod 1935}#))
-                                 #{tmp 1966}#)
-                               (syntax-violation
-                                 #f
-                                 "source expression failed to match any 
pattern"
-                                 #{tmp 1965}#))))
-                         (if (memv #{type 1929}# '(local-syntax-form))
-                           (#{chi-local-syntax 433}#
-                             #{value 1930}#
-                             #{e 1931}#
-                             #{r 1932}#
-                             #{w 1933}#
-                             #{s 1934}#
-                             #{mod 1935}#
-                             #{chi-sequence 413}#)
-                           (if (memv #{type 1929}# '(eval-when-form))
-                             (let ((#{tmp 1974}# #{e 1931}#))
-                               (let ((#{tmp 1975}#
-                                       ($sc-dispatch
-                                         #{tmp 1974}#
-                                         '(_ each-any any . each-any))))
-                                 (if #{tmp 1975}#
-                                   (@apply
-                                     (lambda (#{x 1979}#
-                                              #{e1 1980}#
-                                              #{e2 1981}#)
-                                       (let ((#{when-list 1983}#
-                                               (#{chi-when-list 419}#
-                                                 #{e 1931}#
-                                                 #{x 1979}#
-                                                 #{w 1933}#)))
-                                         (if (memq 'eval #{when-list 1983}#)
-                                           (#{chi-sequence 413}#
-                                             (cons #{e1 1980}# #{e2 1981}#)
-                                             #{r 1932}#
-                                             #{w 1933}#
-                                             #{s 1934}#
-                                             #{mod 1935}#)
-                                           (#{chi-void 437}#))))
-                                     #{tmp 1975}#)
-                                   (syntax-violation
-                                     #f
-                                     "source expression failed to match any 
pattern"
-                                     #{tmp 1974}#))))
-                             (if (memv #{type 1929}#
-                                       '(define-form define-syntax-form))
-                               (syntax-violation
-                                 #f
-                                 "definition in expression context"
-                                 #{e 1931}#
-                                 (#{wrap 409}#
-                                   #{value 1930}#
-                                   #{w 1933}#
-                                   #{mod 1935}#))
-                               (if (memv #{type 1929}# '(syntax))
-                                 (syntax-violation
-                                   #f
-                                   "reference to pattern variable outside 
syntax form"
-                                   (#{source-wrap 411}#
-                                     #{e 1931}#
-                                     #{w 1933}#
-                                     #{s 1934}#
-                                     #{mod 1935}#))
-                                 (if (memv #{type 1929}# '(displaced-lexical))
-                                   (syntax-violation
-                                     #f
-                                     "reference to identifier outside its 
scope"
-                                     (#{source-wrap 411}#
-                                       #{e 1931}#
-                                       #{w 1933}#
-                                       #{s 1934}#
-                                       #{mod 1935}#))
-                                   (syntax-violation
-                                     #f
-                                     "unexpected syntax"
-                                     (#{source-wrap 411}#
-                                       #{e 1931}#
-                                       #{w 1933}#
-                                       #{s 1934}#
-                                       #{mod 1935}#))))))))))))))))))
-   (#{chi-call 427}#
-     (lambda (#{x 1990}#
-              #{e 1991}#
-              #{r 1992}#
-              #{w 1993}#
-              #{s 1994}#
-              #{mod 1995}#)
-       (let ((#{tmp 2002}# #{e 1991}#))
-         (let ((#{tmp 2003}#
-                 ($sc-dispatch #{tmp 2002}# '(any . each-any))))
-           (if #{tmp 2003}#
-             (@apply
-               (lambda (#{e0 2006}# #{e1 2007}#)
-                 (#{build-call 267}#
-                   #{s 1994}#
-                   #{x 1990}#
-                   (map (lambda (#{e 2008}#)
-                          (#{chi 423}#
-                            #{e 2008}#
-                            #{r 1992}#
-                            #{w 1993}#
-                            #{mod 1995}#))
-                        #{e1 2007}#)))
-               #{tmp 2003}#)
-             (syntax-violation
-               #f
-               "source expression failed to match any pattern"
-               #{tmp 2002}#))))))
-   (#{chi-macro 429}#
-     (lambda (#{p 2011}#
-              #{e 2012}#
-              #{r 2013}#
-              #{w 2014}#
-              #{s 2015}#
-              #{rib 2016}#
-              #{mod 2017}#)
-       (letrec*
-         ((#{rebuild-macro-output 2026}#
-            (lambda (#{x 2027}# #{m 2028}#)
-              (if (pair? #{x 2027}#)
-                (#{decorate-source 261}#
-                  (cons (#{rebuild-macro-output 2026}#
-                          (car #{x 2027}#)
-                          #{m 2028}#)
-                        (#{rebuild-macro-output 2026}#
-                          (cdr #{x 2027}#)
-                          #{m 2028}#))
-                  #{s 2015}#)
-                (if (#{syntax-object? 309}# #{x 2027}#)
-                  (let ((#{w 2036}#
-                          (#{syntax-object-wrap 313}# #{x 2027}#)))
-                    (let ((#{ms 2039}# (car #{w 2036}#))
-                          (#{s 2040}# (cdr #{w 2036}#)))
-                      (if (if (pair? #{ms 2039}#)
-                            (eq? (car #{ms 2039}#) #f)
-                            #f)
-                        (#{make-syntax-object 307}#
-                          (#{syntax-object-expression 311}# #{x 2027}#)
-                          (cons (cdr #{ms 2039}#)
-                                (if #{rib 2016}#
-                                  (cons #{rib 2016}# (cdr #{s 2040}#))
-                                  (cdr #{s 2040}#)))
-                          (#{syntax-object-module 315}# #{x 2027}#))
-                        (#{make-syntax-object 307}#
-                          (#{decorate-source 261}#
-                            (#{syntax-object-expression 311}# #{x 2027}#)
-                            #{s 2040}#)
-                          (cons (cons #{m 2028}# #{ms 2039}#)
-                                (if #{rib 2016}#
-                                  (cons #{rib 2016}# (cons 'shift #{s 2040}#))
-                                  (cons 'shift #{s 2040}#)))
-                          (#{syntax-object-module 315}# #{x 2027}#)))))
-                  (if (vector? #{x 2027}#)
-                    (let ((#{n 2052}# (vector-length #{x 2027}#)))
-                      (let ((#{v 2054}#
-                              (#{decorate-source 261}#
-                                (make-vector #{n 2052}#)
-                                #{x 2027}#)))
-                        (letrec*
-                          ((#{loop 2057}#
-                             (lambda (#{i 2058}#)
-                               (if (= #{i 2058}# #{n 2052}#)
-                                 (begin (if #f #f) #{v 2054}#)
-                                 (begin
-                                   (vector-set!
-                                     #{v 2054}#
-                                     #{i 2058}#
-                                     (#{rebuild-macro-output 2026}#
-                                       (vector-ref #{x 2027}# #{i 2058}#)
-                                       #{m 2028}#))
-                                   (#{loop 2057}# (#{1+}# #{i 2058}#)))))))
-                          (#{loop 2057}# 0))))
-                    (if (symbol? #{x 2027}#)
-                      (syntax-violation
-                        #f
-                        "encountered raw symbol in macro output"
-                        (#{source-wrap 411}#
-                          #{e 2012}#
-                          #{w 2014}#
-                          (cdr #{w 2014}#)
-                          #{mod 2017}#)
-                        #{x 2027}#)
-                      (#{decorate-source 261}# #{x 2027}# #{s 2015}#))))))))
-         (#{rebuild-macro-output 2026}#
-           (#{p 2011}#
-             (#{source-wrap 411}#
-               #{e 2012}#
-               (#{anti-mark 381}# #{w 2014}#)
-               #{s 2015}#
-               #{mod 2017}#))
-           (gensym "m")))))
-   (#{chi-body 431}#
-     (lambda (#{body 2068}#
-              #{outer-form 2069}#
-              #{r 2070}#
-              #{w 2071}#
-              #{mod 2072}#)
-       (let ((#{r 2080}#
-               (cons '("placeholder" placeholder) #{r 2070}#)))
-         (let ((#{ribcage 2082}#
-                 (#{make-ribcage 361}# '() '() '())))
-           (let ((#{w 2085}#
-                   (cons (car #{w 2071}#)
-                         (cons #{ribcage 2082}# (cdr #{w 2071}#)))))
-             (letrec*
-               ((#{parse 2097}#
-                  (lambda (#{body 2098}#
-                           #{ids 2099}#
-                           #{labels 2100}#
-                           #{var-ids 2101}#
-                           #{vars 2102}#
-                           #{vals 2103}#
-                           #{bindings 2104}#)
-                    (if (null? #{body 2098}#)
-                      (syntax-violation
-                        #f
-                        "no expressions in body"
-                        #{outer-form 2069}#)
-                      (let ((#{e 2109}# (cdr (car #{body 2098}#)))
-                            (#{er 2110}# (car (car #{body 2098}#))))
-                        (call-with-values
-                          (lambda ()
-                            (#{syntax-type 421}#
-                              #{e 2109}#
-                              #{er 2110}#
-                              '(())
-                              (#{source-annotation 324}# #{er 2110}#)
-                              #{ribcage 2082}#
-                              #{mod 2072}#
-                              #f))
-                          (lambda (#{type 2112}#
-                                   #{value 2113}#
-                                   #{e 2114}#
-                                   #{w 2115}#
-                                   #{s 2116}#
-                                   #{mod 2117}#)
-                            (if (memv #{type 2112}# '(define-form))
-                              (let ((#{id 2127}#
-                                      (#{wrap 409}#
-                                        #{value 2113}#
-                                        #{w 2115}#
-                                        #{mod 2117}#))
-                                    (#{label 2128}# (#{gen-label 356}#)))
-                                (let ((#{var 2130}#
-                                        (#{gen-var 451}# #{id 2127}#)))
-                                  (begin
-                                    (#{extend-ribcage! 385}#
-                                      #{ribcage 2082}#
-                                      #{id 2127}#
-                                      #{label 2128}#)
-                                    (#{parse 2097}#
-                                      (cdr #{body 2098}#)
-                                      (cons #{id 2127}# #{ids 2099}#)
-                                      (cons #{label 2128}# #{labels 2100}#)
-                                      (cons #{id 2127}# #{var-ids 2101}#)
-                                      (cons #{var 2130}# #{vars 2102}#)
-                                      (cons (cons #{er 2110}#
-                                                  (#{wrap 409}#
-                                                    #{e 2114}#
-                                                    #{w 2115}#
-                                                    #{mod 2117}#))
-                                            #{vals 2103}#)
-                                      (cons (cons 'lexical #{var 2130}#)
-                                            #{bindings 2104}#)))))
-                              (if (memv #{type 2112}# '(define-syntax-form))
-                                (let ((#{id 2135}#
-                                        (#{wrap 409}#
-                                          #{value 2113}#
-                                          #{w 2115}#
-                                          #{mod 2117}#))
-                                      (#{label 2136}# (#{gen-label 356}#)))
-                                  (begin
-                                    (#{extend-ribcage! 385}#
-                                      #{ribcage 2082}#
-                                      #{id 2135}#
-                                      #{label 2136}#)
-                                    (#{parse 2097}#
-                                      (cdr #{body 2098}#)
-                                      (cons #{id 2135}# #{ids 2099}#)
-                                      (cons #{label 2136}# #{labels 2100}#)
-                                      #{var-ids 2101}#
-                                      #{vars 2102}#
-                                      #{vals 2103}#
-                                      (cons (cons 'macro
-                                                  (cons #{er 2110}#
-                                                        (#{wrap 409}#
-                                                          #{e 2114}#
-                                                          #{w 2115}#
-                                                          #{mod 2117}#)))
-                                            #{bindings 2104}#))))
-                                (if (memv #{type 2112}# '(begin-form))
-                                  (let ((#{tmp 2139}# #{e 2114}#))
-                                    (let ((#{tmp 2140}#
-                                            ($sc-dispatch
-                                              #{tmp 2139}#
-                                              '(_ . each-any))))
-                                      (if #{tmp 2140}#
-                                        (@apply
-                                          (lambda (#{e1 2142}#)
-                                            (#{parse 2097}#
-                                              (letrec*
-                                                ((#{f 2145}#
-                                                   (lambda (#{forms 2146}#)
-                                                     (if (null? #{forms 2146}#)
-                                                       (cdr #{body 2098}#)
-                                                       (cons (cons #{er 2110}#
-                                                                   (#{wrap 
409}#
-                                                                     (car 
#{forms 2146}#)
-                                                                     #{w 2115}#
-                                                                     #{mod 
2117}#))
-                                                             (#{f 2145}#
-                                                               (cdr #{forms 
2146}#)))))))
-                                                (#{f 2145}# #{e1 2142}#))
-                                              #{ids 2099}#
-                                              #{labels 2100}#
-                                              #{var-ids 2101}#
-                                              #{vars 2102}#
-                                              #{vals 2103}#
-                                              #{bindings 2104}#))
-                                          #{tmp 2140}#)
-                                        (syntax-violation
-                                          #f
-                                          "source expression failed to match 
any pattern"
-                                          #{tmp 2139}#))))
-                                  (if (memv #{type 2112}# '(local-syntax-form))
-                                    (#{chi-local-syntax 433}#
-                                      #{value 2113}#
-                                      #{e 2114}#
-                                      #{er 2110}#
-                                      #{w 2115}#
-                                      #{s 2116}#
-                                      #{mod 2117}#
-                                      (lambda (#{forms 2149}#
-                                               #{er 2150}#
-                                               #{w 2151}#
-                                               #{s 2152}#
-                                               #{mod 2153}#)
-                                        (#{parse 2097}#
-                                          (letrec*
-                                            ((#{f 2161}#
-                                               (lambda (#{forms 2162}#)
-                                                 (if (null? #{forms 2162}#)
-                                                   (cdr #{body 2098}#)
-                                                   (cons (cons #{er 2150}#
-                                                               (#{wrap 409}#
-                                                                 (car #{forms 
2162}#)
-                                                                 #{w 2151}#
-                                                                 #{mod 2153}#))
-                                                         (#{f 2161}#
-                                                           (cdr #{forms 
2162}#)))))))
-                                            (#{f 2161}# #{forms 2149}#))
-                                          #{ids 2099}#
-                                          #{labels 2100}#
-                                          #{var-ids 2101}#
-                                          #{vars 2102}#
-                                          #{vals 2103}#
-                                          #{bindings 2104}#)))
-                                    (if (null? #{ids 2099}#)
-                                      (#{build-sequence 297}#
-                                        #f
-                                        (map (lambda (#{x 2165}#)
-                                               (#{chi 423}#
-                                                 (cdr #{x 2165}#)
-                                                 (car #{x 2165}#)
-                                                 '(())
-                                                 #{mod 2117}#))
-                                             (cons (cons #{er 2110}#
-                                                         (#{source-wrap 411}#
-                                                           #{e 2114}#
-                                                           #{w 2115}#
-                                                           #{s 2116}#
-                                                           #{mod 2117}#))
-                                                   (cdr #{body 2098}#))))
-                                      (begin
-                                        (if (not (#{valid-bound-ids? 403}#
-                                                   #{ids 2099}#))
-                                          (syntax-violation
-                                            #f
-                                            "invalid or duplicate identifier 
in definition"
-                                            #{outer-form 2069}#))
-                                        (letrec*
-                                          ((#{loop 2172}#
-                                             (lambda (#{bs 2173}#
-                                                      #{er-cache 2174}#
-                                                      #{r-cache 2175}#)
-                                               (if (not (null? #{bs 2173}#))
-                                                 (let ((#{b 2178}#
-                                                         (car #{bs 2173}#)))
-                                                   (if (eq? (car #{b 2178}#)
-                                                            'macro)
-                                                     (let ((#{er 2181}#
-                                                             (car (cdr #{b 
2178}#))))
-                                                       (let ((#{r-cache 2183}#
-                                                               (if (eq? #{er 
2181}#
-                                                                        
#{er-cache 2174}#)
-                                                                 #{r-cache 
2175}#
-                                                                 
(#{macros-only-env 335}#
-                                                                   #{er 
2181}#))))
-                                                         (begin
-                                                           (set-cdr!
-                                                             #{b 2178}#
-                                                             
(#{eval-local-transformer 435}#
-                                                               (#{chi 423}#
-                                                                 (cdr (cdr #{b 
2178}#))
-                                                                 #{r-cache 
2183}#
-                                                                 '(())
-                                                                 #{mod 2117}#)
-                                                               #{mod 2117}#))
-                                                           (#{loop 2172}#
-                                                             (cdr #{bs 2173}#)
-                                                             #{er 2181}#
-                                                             #{r-cache 
2183}#))))
-                                                     (#{loop 2172}#
-                                                       (cdr #{bs 2173}#)
-                                                       #{er-cache 2174}#
-                                                       #{r-cache 2175}#)))))))
-                                          (#{loop 2172}#
-                                            #{bindings 2104}#
-                                            #f
-                                            #f))
-                                        (set-cdr!
-                                          #{r 2080}#
-                                          (#{extend-env 331}#
-                                            #{labels 2100}#
-                                            #{bindings 2104}#
-                                            (cdr #{r 2080}#)))
-                                        (#{build-letrec 303}#
-                                          #f
-                                          #t
-                                          (reverse
-                                            (map syntax->datum
-                                                 #{var-ids 2101}#))
-                                          (reverse #{vars 2102}#)
-                                          (map (lambda (#{x 2186}#)
-                                                 (#{chi 423}#
-                                                   (cdr #{x 2186}#)
-                                                   (car #{x 2186}#)
-                                                   '(())
-                                                   #{mod 2117}#))
-                                               (reverse #{vals 2103}#))
-                                          (#{build-sequence 297}#
-                                            #f
-                                            (map (lambda (#{x 2190}#)
-                                                   (#{chi 423}#
-                                                     (cdr #{x 2190}#)
-                                                     (car #{x 2190}#)
-                                                     '(())
-                                                     #{mod 2117}#))
-                                                 (cons (cons #{er 2110}#
-                                                             (#{source-wrap 
411}#
-                                                               #{e 2114}#
-                                                               #{w 2115}#
-                                                               #{s 2116}#
-                                                               #{mod 2117}#))
-                                                       (cdr #{body 
2098}#))))))))))))))))))
-               (#{parse 2097}#
-                 (map (lambda (#{x 2105}#)
-                        (cons #{r 2080}#
-                              (#{wrap 409}#
-                                #{x 2105}#
-                                #{w 2085}#
-                                #{mod 2072}#)))
-                      #{body 2068}#)
-                 '()
-                 '()
-                 '()
-                 '()
-                 '()
-                 '())))))))
-   (#{chi-local-syntax 433}#
-     (lambda (#{rec? 2193}#
-              #{e 2194}#
-              #{r 2195}#
-              #{w 2196}#
-              #{s 2197}#
-              #{mod 2198}#
-              #{k 2199}#)
-       (let ((#{tmp 2207}# #{e 2194}#))
-         (let ((#{tmp 2208}#
-                 ($sc-dispatch
-                   #{tmp 2207}#
-                   '(_ #(each (any any)) any . each-any))))
-           (if #{tmp 2208}#
-             (@apply
-               (lambda (#{id 2213}#
-                        #{val 2214}#
-                        #{e1 2215}#
-                        #{e2 2216}#)
-                 (let ((#{ids 2218}# #{id 2213}#))
-                   (if (not (#{valid-bound-ids? 403}# #{ids 2218}#))
-                     (syntax-violation
-                       #f
-                       "duplicate bound keyword"
-                       #{e 2194}#)
-                     (let ((#{labels 2221}#
-                             (#{gen-labels 358}# #{ids 2218}#)))
-                       (let ((#{new-w 2223}#
-                               (#{make-binding-wrap 387}#
-                                 #{ids 2218}#
-                                 #{labels 2221}#
-                                 #{w 2196}#)))
-                         (#{k 2199}#
-                           (cons #{e1 2215}# #{e2 2216}#)
-                           (#{extend-env 331}#
-                             #{labels 2221}#
-                             (let ((#{w 2227}#
-                                     (if #{rec? 2193}#
-                                       #{new-w 2223}#
-                                       #{w 2196}#))
-                                   (#{trans-r 2228}#
-                                     (#{macros-only-env 335}# #{r 2195}#)))
-                               (map (lambda (#{x 2229}#)
-                                      (cons 'macro
-                                            (#{eval-local-transformer 435}#
-                                              (#{chi 423}#
-                                                #{x 2229}#
-                                                #{trans-r 2228}#
-                                                #{w 2227}#
-                                                #{mod 2198}#)
-                                              #{mod 2198}#)))
-                                    #{val 2214}#))
-                             #{r 2195}#)
-                           #{new-w 2223}#
-                           #{s 2197}#
-                           #{mod 2198}#))))))
-               #{tmp 2208}#)
-             (let ((#{_ 2234}# #{tmp 2207}#))
-               (syntax-violation
-                 #f
-                 "bad local syntax definition"
-                 (#{source-wrap 411}#
-                   #{e 2194}#
-                   #{w 2196}#
-                   #{s 2197}#
-                   #{mod 2198}#))))))))
-   (#{eval-local-transformer 435}#
-     (lambda (#{expanded 2235}# #{mod 2236}#)
-       (let ((#{p 2240}#
-               (#{local-eval-hook 254}#
-                 #{expanded 2235}#
-                 #{mod 2236}#)))
-         (if (procedure? #{p 2240}#)
-           #{p 2240}#
-           (syntax-violation
-             #f
-             "nonprocedure transformer"
-             #{p 2240}#)))))
-   (#{chi-void 437}#
-     (lambda () (#{build-void 265}# #f)))
-   (#{ellipsis? 439}#
-     (lambda (#{x 2242}#)
-       (if (#{nonsymbol-id? 341}# #{x 2242}#)
-         (#{free-id=? 399}#
-           #{x 2242}#
-           '#(syntax-object
-              ...
-              ((top)
-               #(ribcage () () ())
-               #(ribcage () () ())
-               #(ribcage #(x) #((top)) #("i2243"))
-               #(ribcage
-                 (lambda-var-list
-                   gen-var
-                   strip
-                   chi-lambda-case
-                   lambda*-formals
-                   chi-simple-lambda
-                   lambda-formals
-                   ellipsis?
-                   chi-void
-                   eval-local-transformer
-                   chi-local-syntax
-                   chi-body
-                   chi-macro
-                   chi-call
-                   chi-expr
-                   chi
-                   syntax-type
-                   chi-when-list
-                   chi-install-global
-                   chi-top-sequence
-                   chi-sequence
-                   source-wrap
-                   wrap
-                   bound-id-member?
-                   distinct-bound-ids?
-                   valid-bound-ids?
-                   bound-id=?
-                   free-id=?
-                   id-var-name
-                   same-marks?
-                   join-marks
-                   join-wraps
-                   smart-append
-                   make-binding-wrap
-                   extend-ribcage!
-                   make-empty-ribcage
-                   new-mark
-                   anti-mark
-                   the-anti-mark
-                   top-marked?
-                   top-wrap
-                   empty-wrap
-                   set-ribcage-labels!
-                   set-ribcage-marks!
-                   set-ribcage-symnames!
-                   ribcage-labels
-                   ribcage-marks
-                   ribcage-symnames
-                   ribcage?
-                   make-ribcage
-                   gen-labels
-                   gen-label
-                   make-rename
-                   rename-marks
-                   rename-new
-                   rename-old
-                   subst-rename?
-                   wrap-subst
-                   wrap-marks
-                   make-wrap
-                   id-sym-name&marks
-                   id-sym-name
-                   id?
-                   nonsymbol-id?
-                   global-extend
-                   lookup
-                   macros-only-env
-                   extend-var-env
-                   extend-env
-                   null-env
-                   binding-value
-                   binding-type
-                   make-binding
-                   arg-check
-                   source-annotation
-                   no-source
-                   set-syntax-object-module!
-                   set-syntax-object-wrap!
-                   set-syntax-object-expression!
-                   syntax-object-module
-                   syntax-object-wrap
-                   syntax-object-expression
-                   syntax-object?
-                   make-syntax-object
-                   build-lexical-var
-                   build-letrec
-                   build-named-let
-                   build-let
-                   build-sequence
-                   build-data
-                   build-primref
-                   build-primcall
-                   build-lambda-case
-                   build-case-lambda
-                   build-simple-lambda
-                   build-global-definition
-                   build-global-assignment
-                   build-global-reference
-                   analyze-variable
-                   build-lexical-assignment
-                   build-lexical-reference
-                   build-dynlet
-                   build-conditional
-                   build-call
-                   build-void
-                   maybe-name-value!
-                   decorate-source
-                   get-global-definition-hook
-                   put-global-definition-hook
-                   gensym-hook
-                   local-eval-hook
-                   top-level-eval-hook
-                   fx<
-                   fx=
-                   fx-
-                   fx+
-                   set-lambda-meta!
-                   lambda-meta
-                   lambda?
-                   make-dynlet
-                   make-letrec
-                   make-let
-                   make-lambda-case
-                   make-lambda
-                   make-seq
-                   make-primcall
-                   make-call
-                   make-conditional
-                   make-toplevel-define
-                   make-toplevel-set
-                   make-toplevel-ref
-                   make-module-set
-                   make-module-ref
-                   make-lexical-set
-                   make-lexical-ref
-                   make-primitive-ref
-                   make-const
-                   make-void)
-                 ((top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top))
-                 ("i452"
-                  "i450"
-                  "i448"
-                  "i446"
-                  "i444"
-                  "i442"
-                  "i440"
-                  "i438"
-                  "i436"
-                  "i434"
-                  "i432"
-                  "i430"
-                  "i428"
-                  "i426"
-                  "i424"
-                  "i422"
-                  "i420"
-                  "i418"
-                  "i416"
-                  "i414"
-                  "i412"
-                  "i410"
-                  "i408"
-                  "i406"
-                  "i404"
-                  "i402"
-                  "i400"
-                  "i398"
-                  "i396"
-                  "i394"
-                  "i392"
-                  "i390"
-                  "i388"
-                  "i386"
-                  "i384"
-                  "i383"
-                  "i382"
-                  "i380"
-                  "i379"
-                  "i378"
-                  "i377"
-                  "i376"
-                  "i374"
-                  "i372"
-                  "i370"
-                  "i368"
-                  "i366"
-                  "i364"
-                  "i362"
-                  "i360"
-                  "i357"
-                  "i355"
-                  "i354"
-                  "i353"
-                  "i352"
-                  "i351"
-                  "i350"
-                  "i349"
-                  "i348"
-                  "i347"
-                  "i345"
-                  "i344"
-                  "i342"
-                  "i340"
-                  "i338"
-                  "i336"
-                  "i334"
-                  "i332"
-                  "i330"
-                  "i329"
-                  "i328"
-                  "i327"
-                  "i326"
-                  "i325"
-                  "i323"
-                  "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"
-                  "i272"
-                  "i270"
-                  "i268"
-                  "i266"
-                  "i264"
-                  "i262"
-                  "i260"
-                  "i258"
-                  "i256"
-                  "i255"
-                  "i253"
-                  "i251"
-                  "i250"
-                  "i249"
-                  "i248"
-                  "i247"
-                  "i245"
-                  "i243"
-                  "i241"
-                  "i238"
-                  "i236"
-                  "i234"
-                  "i232"
-                  "i230"
-                  "i228"
-                  "i226"
-                  "i224"
-                  "i222"
-                  "i220"
-                  "i218"
-                  "i216"
-                  "i214"
-                  "i212"
-                  "i210"
-                  "i208"
-                  "i206"
-                  "i204"
-                  "i202"))
-               #(ribcage
-                 (define-structure
-                   define-expansion-accessors
-                   define-expansion-constructors)
-                 ((top) (top) (top))
-                 ("i40" "i39" "i38")))
-              (hygiene guile)))
-         #f)))
-   (#{lambda-formals 441}#
-     (lambda (#{orig-args 2246}#)
-       (letrec*
-         ((#{req 2249}#
-            (lambda (#{args 2252}# #{rreq 2253}#)
-              (let ((#{tmp 2256}# #{args 2252}#))
-                (let ((#{tmp 2257}# ($sc-dispatch #{tmp 2256}# '())))
-                  (if #{tmp 2257}#
-                    (@apply
-                      (lambda ()
-                        (#{check 2251}# (reverse #{rreq 2253}#) #f))
-                      #{tmp 2257}#)
-                    (let ((#{tmp 2258}#
-                            ($sc-dispatch #{tmp 2256}# '(any . any))))
-                      (if (if #{tmp 2258}#
-                            (@apply
-                              (lambda (#{a 2261}# #{b 2262}#)
-                                (#{id? 343}# #{a 2261}#))
-                              #{tmp 2258}#)
-                            #f)
-                        (@apply
-                          (lambda (#{a 2265}# #{b 2266}#)
-                            (#{req 2249}#
-                              #{b 2266}#
-                              (cons #{a 2265}# #{rreq 2253}#)))
-                          #{tmp 2258}#)
-                        (let ((#{tmp 2267}# (list #{tmp 2256}#)))
-                          (if (if #{tmp 2267}#
-                                (@apply
-                                  (lambda (#{r 2269}#)
-                                    (#{id? 343}# #{r 2269}#))
-                                  #{tmp 2267}#)
-                                #f)
-                            (@apply
-                              (lambda (#{r 2271}#)
-                                (#{check 2251}#
-                                  (reverse #{rreq 2253}#)
-                                  #{r 2271}#))
-                              #{tmp 2267}#)
-                            (let ((#{else 2273}# #{tmp 2256}#))
-                              (syntax-violation
-                                'lambda
-                                "invalid argument list"
-                                #{orig-args 2246}#
-                                #{args 2252}#)))))))))))
-          (#{check 2251}#
-            (lambda (#{req 2274}# #{rest 2275}#)
-              (if (#{distinct-bound-ids? 405}#
-                    (if #{rest 2275}#
-                      (cons #{rest 2275}# #{req 2274}#)
-                      #{req 2274}#))
-                (values #{req 2274}# #f #{rest 2275}# #f)
-                (syntax-violation
-                  'lambda
-                  "duplicate identifier in argument list"
-                  #{orig-args 2246}#)))))
-         (#{req 2249}# #{orig-args 2246}# '()))))
-   (#{chi-simple-lambda 443}#
-     (lambda (#{e 2281}#
-              #{r 2282}#
-              #{w 2283}#
-              #{s 2284}#
-              #{mod 2285}#
-              #{req 2286}#
-              #{rest 2287}#
-              #{meta 2288}#
-              #{body 2289}#)
-       (let ((#{ids 2301}#
-               (if #{rest 2287}#
-                 (append #{req 2286}# (list #{rest 2287}#))
-                 #{req 2286}#)))
-         (let ((#{vars 2303}#
-                 (map #{gen-var 451}# #{ids 2301}#)))
-           (let ((#{labels 2305}#
-                   (#{gen-labels 358}# #{ids 2301}#)))
-             (#{build-simple-lambda 285}#
-               #{s 2284}#
-               (map syntax->datum #{req 2286}#)
-               (if #{rest 2287}#
-                 (syntax->datum #{rest 2287}#)
-                 #f)
-               #{vars 2303}#
-               #{meta 2288}#
-               (#{chi-body 431}#
-                 #{body 2289}#
-                 (#{source-wrap 411}#
-                   #{e 2281}#
-                   #{w 2283}#
-                   #{s 2284}#
-                   #{mod 2285}#)
-                 (#{extend-var-env 333}#
-                   #{labels 2305}#
-                   #{vars 2303}#
-                   #{r 2282}#)
-                 (#{make-binding-wrap 387}#
-                   #{ids 2301}#
-                   #{labels 2305}#
-                   #{w 2283}#)
-                 #{mod 2285}#)))))))
-   (#{lambda*-formals 445}#
-     (lambda (#{orig-args 2308}#)
-       (letrec*
-         ((#{req 2311}#
-            (lambda (#{args 2320}# #{rreq 2321}#)
-              (let ((#{tmp 2324}# #{args 2320}#))
-                (let ((#{tmp 2325}# ($sc-dispatch #{tmp 2324}# '())))
-                  (if #{tmp 2325}#
-                    (@apply
-                      (lambda ()
-                        (#{check 2319}#
-                          (reverse #{rreq 2321}#)
-                          '()
-                          #f
-                          '()))
-                      #{tmp 2325}#)
-                    (let ((#{tmp 2326}#
-                            ($sc-dispatch #{tmp 2324}# '(any . any))))
-                      (if (if #{tmp 2326}#
-                            (@apply
-                              (lambda (#{a 2329}# #{b 2330}#)
-                                (#{id? 343}# #{a 2329}#))
-                              #{tmp 2326}#)
-                            #f)
-                        (@apply
-                          (lambda (#{a 2333}# #{b 2334}#)
-                            (#{req 2311}#
-                              #{b 2334}#
-                              (cons #{a 2333}# #{rreq 2321}#)))
-                          #{tmp 2326}#)
-                        (let ((#{tmp 2335}#
-                                ($sc-dispatch #{tmp 2324}# '(any . any))))
-                          (if (if #{tmp 2335}#
-                                (@apply
-                                  (lambda (#{a 2338}# #{b 2339}#)
-                                    (eq? (syntax->datum #{a 2338}#)
-                                         #:optional))
-                                  #{tmp 2335}#)
-                                #f)
-                            (@apply
-                              (lambda (#{a 2342}# #{b 2343}#)
-                                (#{opt 2313}#
-                                  #{b 2343}#
-                                  (reverse #{rreq 2321}#)
-                                  '()))
-                              #{tmp 2335}#)
-                            (let ((#{tmp 2344}#
-                                    ($sc-dispatch #{tmp 2324}# '(any . any))))
-                              (if (if #{tmp 2344}#
-                                    (@apply
-                                      (lambda (#{a 2347}# #{b 2348}#)
-                                        (eq? (syntax->datum #{a 2347}#) #:key))
-                                      #{tmp 2344}#)
-                                    #f)
-                                (@apply
-                                  (lambda (#{a 2351}# #{b 2352}#)
-                                    (#{key 2315}#
-                                      #{b 2352}#
-                                      (reverse #{rreq 2321}#)
-                                      '()
-                                      '()))
-                                  #{tmp 2344}#)
-                                (let ((#{tmp 2353}#
-                                        ($sc-dispatch
-                                          #{tmp 2324}#
-                                          '(any any))))
-                                  (if (if #{tmp 2353}#
-                                        (@apply
-                                          (lambda (#{a 2356}# #{b 2357}#)
-                                            (eq? (syntax->datum #{a 2356}#)
-                                                 #:rest))
-                                          #{tmp 2353}#)
-                                        #f)
-                                    (@apply
-                                      (lambda (#{a 2360}# #{b 2361}#)
-                                        (#{rest 2317}#
-                                          #{b 2361}#
-                                          (reverse #{rreq 2321}#)
-                                          '()
-                                          '()))
-                                      #{tmp 2353}#)
-                                    (let ((#{tmp 2362}# (list #{tmp 2324}#)))
-                                      (if (if #{tmp 2362}#
-                                            (@apply
-                                              (lambda (#{r 2364}#)
-                                                (#{id? 343}# #{r 2364}#))
-                                              #{tmp 2362}#)
-                                            #f)
-                                        (@apply
-                                          (lambda (#{r 2366}#)
-                                            (#{rest 2317}#
-                                              #{r 2366}#
-                                              (reverse #{rreq 2321}#)
-                                              '()
-                                              '()))
-                                          #{tmp 2362}#)
-                                        (let ((#{else 2368}# #{tmp 2324}#))
-                                          (syntax-violation
-                                            'lambda*
-                                            "invalid argument list"
-                                            #{orig-args 2308}#
-                                            #{args 2320}#)))))))))))))))))
-          (#{opt 2313}#
-            (lambda (#{args 2369}# #{req 2370}# #{ropt 2371}#)
-              (let ((#{tmp 2375}# #{args 2369}#))
-                (let ((#{tmp 2376}# ($sc-dispatch #{tmp 2375}# '())))
-                  (if #{tmp 2376}#
-                    (@apply
-                      (lambda ()
-                        (#{check 2319}#
-                          #{req 2370}#
-                          (reverse #{ropt 2371}#)
-                          #f
-                          '()))
-                      #{tmp 2376}#)
-                    (let ((#{tmp 2377}#
-                            ($sc-dispatch #{tmp 2375}# '(any . any))))
-                      (if (if #{tmp 2377}#
-                            (@apply
-                              (lambda (#{a 2380}# #{b 2381}#)
-                                (#{id? 343}# #{a 2380}#))
-                              #{tmp 2377}#)
-                            #f)
-                        (@apply
-                          (lambda (#{a 2384}# #{b 2385}#)
-                            (#{opt 2313}#
-                              #{b 2385}#
-                              #{req 2370}#
-                              (cons (cons #{a 2384}#
-                                          '(#(syntax-object
-                                              #f
-                                              ((top)
-                                               #(ribcage
-                                                 #(a b)
-                                                 #((top) (top))
-                                                 #("i2382" "i2383"))
-                                               #(ribcage () () ())
-                                               #(ribcage
-                                                 #(args req ropt)
-                                                 #((top) (top) (top))
-                                                 #("i2372" "i2373" "i2374"))
-                                               #(ribcage
-                                                 (check rest key opt req)
-                                                 ((top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top))
-                                                 ("i2318"
-                                                  "i2316"
-                                                  "i2314"
-                                                  "i2312"
-                                                  "i2310"))
-                                               #(ribcage
-                                                 #(orig-args)
-                                                 #((top))
-                                                 #("i2309"))
-                                               #(ribcage
-                                                 (lambda-var-list
-                                                   gen-var
-                                                   strip
-                                                   chi-lambda-case
-                                                   lambda*-formals
-                                                   chi-simple-lambda
-                                                   lambda-formals
-                                                   ellipsis?
-                                                   chi-void
-                                                   eval-local-transformer
-                                                   chi-local-syntax
-                                                   chi-body
-                                                   chi-macro
-                                                   chi-call
-                                                   chi-expr
-                                                   chi
-                                                   syntax-type
-                                                   chi-when-list
-                                                   chi-install-global
-                                                   chi-top-sequence
-                                                   chi-sequence
-                                                   source-wrap
-                                                   wrap
-                                                   bound-id-member?
-                                                   distinct-bound-ids?
-                                                   valid-bound-ids?
-                                                   bound-id=?
-                                                   free-id=?
-                                                   id-var-name
-                                                   same-marks?
-                                                   join-marks
-                                                   join-wraps
-                                                   smart-append
-                                                   make-binding-wrap
-                                                   extend-ribcage!
-                                                   make-empty-ribcage
-                                                   new-mark
-                                                   anti-mark
-                                                   the-anti-mark
-                                                   top-marked?
-                                                   top-wrap
-                                                   empty-wrap
-                                                   set-ribcage-labels!
-                                                   set-ribcage-marks!
-                                                   set-ribcage-symnames!
-                                                   ribcage-labels
-                                                   ribcage-marks
-                                                   ribcage-symnames
-                                                   ribcage?
-                                                   make-ribcage
-                                                   gen-labels
-                                                   gen-label
-                                                   make-rename
-                                                   rename-marks
-                                                   rename-new
-                                                   rename-old
-                                                   subst-rename?
-                                                   wrap-subst
-                                                   wrap-marks
-                                                   make-wrap
-                                                   id-sym-name&marks
-                                                   id-sym-name
-                                                   id?
-                                                   nonsymbol-id?
-                                                   global-extend
-                                                   lookup
-                                                   macros-only-env
-                                                   extend-var-env
-                                                   extend-env
-                                                   null-env
-                                                   binding-value
-                                                   binding-type
-                                                   make-binding
-                                                   arg-check
-                                                   source-annotation
-                                                   no-source
-                                                   set-syntax-object-module!
-                                                   set-syntax-object-wrap!
-                                                   
set-syntax-object-expression!
-                                                   syntax-object-module
-                                                   syntax-object-wrap
-                                                   syntax-object-expression
-                                                   syntax-object?
-                                                   make-syntax-object
-                                                   build-lexical-var
-                                                   build-letrec
-                                                   build-named-let
-                                                   build-let
-                                                   build-sequence
-                                                   build-data
-                                                   build-primref
-                                                   build-primcall
-                                                   build-lambda-case
-                                                   build-case-lambda
-                                                   build-simple-lambda
-                                                   build-global-definition
-                                                   build-global-assignment
-                                                   build-global-reference
-                                                   analyze-variable
-                                                   build-lexical-assignment
-                                                   build-lexical-reference
-                                                   build-dynlet
-                                                   build-conditional
-                                                   build-call
-                                                   build-void
-                                                   maybe-name-value!
-                                                   decorate-source
-                                                   get-global-definition-hook
-                                                   put-global-definition-hook
-                                                   gensym-hook
-                                                   local-eval-hook
-                                                   top-level-eval-hook
-                                                   fx<
-                                                   fx=
-                                                   fx-
-                                                   fx+
-                                                   set-lambda-meta!
-                                                   lambda-meta
-                                                   lambda?
-                                                   make-dynlet
-                                                   make-letrec
-                                                   make-let
-                                                   make-lambda-case
-                                                   make-lambda
-                                                   make-seq
-                                                   make-primcall
-                                                   make-call
-                                                   make-conditional
-                                                   make-toplevel-define
-                                                   make-toplevel-set
-                                                   make-toplevel-ref
-                                                   make-module-set
-                                                   make-module-ref
-                                                   make-lexical-set
-                                                   make-lexical-ref
-                                                   make-primitive-ref
-                                                   make-const
-                                                   make-void)
-                                                 ((top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top))
-                                                 ("i452"
-                                                  "i450"
-                                                  "i448"
-                                                  "i446"
-                                                  "i444"
-                                                  "i442"
-                                                  "i440"
-                                                  "i438"
-                                                  "i436"
-                                                  "i434"
-                                                  "i432"
-                                                  "i430"
-                                                  "i428"
-                                                  "i426"
-                                                  "i424"
-                                                  "i422"
-                                                  "i420"
-                                                  "i418"
-                                                  "i416"
-                                                  "i414"
-                                                  "i412"
-                                                  "i410"
-                                                  "i408"
-                                                  "i406"
-                                                  "i404"
-                                                  "i402"
-                                                  "i400"
-                                                  "i398"
-                                                  "i396"
-                                                  "i394"
-                                                  "i392"
-                                                  "i390"
-                                                  "i388"
-                                                  "i386"
-                                                  "i384"
-                                                  "i383"
-                                                  "i382"
-                                                  "i380"
-                                                  "i379"
-                                                  "i378"
-                                                  "i377"
-                                                  "i376"
-                                                  "i374"
-                                                  "i372"
-                                                  "i370"
-                                                  "i368"
-                                                  "i366"
-                                                  "i364"
-                                                  "i362"
-                                                  "i360"
-                                                  "i357"
-                                                  "i355"
-                                                  "i354"
-                                                  "i353"
-                                                  "i352"
-                                                  "i351"
-                                                  "i350"
-                                                  "i349"
-                                                  "i348"
-                                                  "i347"
-                                                  "i345"
-                                                  "i344"
-                                                  "i342"
-                                                  "i340"
-                                                  "i338"
-                                                  "i336"
-                                                  "i334"
-                                                  "i332"
-                                                  "i330"
-                                                  "i329"
-                                                  "i328"
-                                                  "i327"
-                                                  "i326"
-                                                  "i325"
-                                                  "i323"
-                                                  "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"
-                                                  "i272"
-                                                  "i270"
-                                                  "i268"
-                                                  "i266"
-                                                  "i264"
-                                                  "i262"
-                                                  "i260"
-                                                  "i258"
-                                                  "i256"
-                                                  "i255"
-                                                  "i253"
-                                                  "i251"
-                                                  "i250"
-                                                  "i249"
-                                                  "i248"
-                                                  "i247"
-                                                  "i245"
-                                                  "i243"
-                                                  "i241"
-                                                  "i238"
-                                                  "i236"
-                                                  "i234"
-                                                  "i232"
-                                                  "i230"
-                                                  "i228"
-                                                  "i226"
-                                                  "i224"
-                                                  "i222"
-                                                  "i220"
-                                                  "i218"
-                                                  "i216"
-                                                  "i214"
-                                                  "i212"
-                                                  "i210"
-                                                  "i208"
-                                                  "i206"
-                                                  "i204"
-                                                  "i202"))
-                                               #(ribcage
-                                                 (define-structure
-                                                   define-expansion-accessors
-                                                   
define-expansion-constructors)
-                                                 ((top) (top) (top))
-                                                 ("i40" "i39" "i38")))
-                                              (hygiene guile))))
-                                    #{ropt 2371}#)))
-                          #{tmp 2377}#)
-                        (let ((#{tmp 2386}#
-                                ($sc-dispatch
-                                  #{tmp 2375}#
-                                  '((any any) . any))))
-                          (if (if #{tmp 2386}#
-                                (@apply
-                                  (lambda (#{a 2390}# #{init 2391}# #{b 2392}#)
-                                    (#{id? 343}# #{a 2390}#))
-                                  #{tmp 2386}#)
-                                #f)
-                            (@apply
-                              (lambda (#{a 2396}# #{init 2397}# #{b 2398}#)
-                                (#{opt 2313}#
-                                  #{b 2398}#
-                                  #{req 2370}#
-                                  (cons (list #{a 2396}# #{init 2397}#)
-                                        #{ropt 2371}#)))
-                              #{tmp 2386}#)
-                            (let ((#{tmp 2399}#
-                                    ($sc-dispatch #{tmp 2375}# '(any . any))))
-                              (if (if #{tmp 2399}#
-                                    (@apply
-                                      (lambda (#{a 2402}# #{b 2403}#)
-                                        (eq? (syntax->datum #{a 2402}#) #:key))
-                                      #{tmp 2399}#)
-                                    #f)
-                                (@apply
-                                  (lambda (#{a 2406}# #{b 2407}#)
-                                    (#{key 2315}#
-                                      #{b 2407}#
-                                      #{req 2370}#
-                                      (reverse #{ropt 2371}#)
-                                      '()))
-                                  #{tmp 2399}#)
-                                (let ((#{tmp 2408}#
-                                        ($sc-dispatch
-                                          #{tmp 2375}#
-                                          '(any any))))
-                                  (if (if #{tmp 2408}#
-                                        (@apply
-                                          (lambda (#{a 2411}# #{b 2412}#)
-                                            (eq? (syntax->datum #{a 2411}#)
-                                                 #:rest))
-                                          #{tmp 2408}#)
-                                        #f)
-                                    (@apply
-                                      (lambda (#{a 2415}# #{b 2416}#)
-                                        (#{rest 2317}#
-                                          #{b 2416}#
-                                          #{req 2370}#
-                                          (reverse #{ropt 2371}#)
-                                          '()))
-                                      #{tmp 2408}#)
-                                    (let ((#{tmp 2417}# (list #{tmp 2375}#)))
-                                      (if (if #{tmp 2417}#
-                                            (@apply
-                                              (lambda (#{r 2419}#)
-                                                (#{id? 343}# #{r 2419}#))
-                                              #{tmp 2417}#)
-                                            #f)
-                                        (@apply
-                                          (lambda (#{r 2421}#)
-                                            (#{rest 2317}#
-                                              #{r 2421}#
-                                              #{req 2370}#
-                                              (reverse #{ropt 2371}#)
-                                              '()))
-                                          #{tmp 2417}#)
-                                        (let ((#{else 2423}# #{tmp 2375}#))
-                                          (syntax-violation
-                                            'lambda*
-                                            "invalid optional argument list"
-                                            #{orig-args 2308}#
-                                            #{args 2369}#)))))))))))))))))
-          (#{key 2315}#
-            (lambda (#{args 2424}#
-                     #{req 2425}#
-                     #{opt 2426}#
-                     #{rkey 2427}#)
-              (let ((#{tmp 2432}# #{args 2424}#))
-                (let ((#{tmp 2433}# ($sc-dispatch #{tmp 2432}# '())))
-                  (if #{tmp 2433}#
-                    (@apply
-                      (lambda ()
-                        (#{check 2319}#
-                          #{req 2425}#
-                          #{opt 2426}#
-                          #f
-                          (cons #f (reverse #{rkey 2427}#))))
-                      #{tmp 2433}#)
-                    (let ((#{tmp 2434}#
-                            ($sc-dispatch #{tmp 2432}# '(any . any))))
-                      (if (if #{tmp 2434}#
-                            (@apply
-                              (lambda (#{a 2437}# #{b 2438}#)
-                                (#{id? 343}# #{a 2437}#))
-                              #{tmp 2434}#)
-                            #f)
-                        (@apply
-                          (lambda (#{a 2441}# #{b 2442}#)
-                            (let ((#{tmp 2444}#
-                                    (symbol->keyword
-                                      (syntax->datum #{a 2441}#))))
-                              (let ((#{k 2446}# #{tmp 2444}#))
-                                (#{key 2315}#
-                                  #{b 2442}#
-                                  #{req 2425}#
-                                  #{opt 2426}#
-                                  (cons (cons #{k 2446}#
-                                              (cons #{a 2441}#
-                                                    '(#(syntax-object
-                                                        #f
-                                                        ((top)
-                                                         #(ribcage () () ())
-                                                         #(ribcage
-                                                           #(k)
-                                                           #((top))
-                                                           #("i2445"))
-                                                         #(ribcage
-                                                           #(a b)
-                                                           #((top) (top))
-                                                           #("i2439" "i2440"))
-                                                         #(ribcage () () ())
-                                                         #(ribcage
-                                                           #(args req opt rkey)
-                                                           #((top)
-                                                             (top)
-                                                             (top)
-                                                             (top))
-                                                           #("i2428"
-                                                             "i2429"
-                                                             "i2430"
-                                                             "i2431"))
-                                                         #(ribcage
-                                                           (check rest
-                                                                  key
-                                                                  opt
-                                                                  req)
-                                                           ((top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top))
-                                                           ("i2318"
-                                                            "i2316"
-                                                            "i2314"
-                                                            "i2312"
-                                                            "i2310"))
-                                                         #(ribcage
-                                                           #(orig-args)
-                                                           #((top))
-                                                           #("i2309"))
-                                                         #(ribcage
-                                                           (lambda-var-list
-                                                             gen-var
-                                                             strip
-                                                             chi-lambda-case
-                                                             lambda*-formals
-                                                             chi-simple-lambda
-                                                             lambda-formals
-                                                             ellipsis?
-                                                             chi-void
-                                                             
eval-local-transformer
-                                                             chi-local-syntax
-                                                             chi-body
-                                                             chi-macro
-                                                             chi-call
-                                                             chi-expr
-                                                             chi
-                                                             syntax-type
-                                                             chi-when-list
-                                                             chi-install-global
-                                                             chi-top-sequence
-                                                             chi-sequence
-                                                             source-wrap
-                                                             wrap
-                                                             bound-id-member?
-                                                             
distinct-bound-ids?
-                                                             valid-bound-ids?
-                                                             bound-id=?
-                                                             free-id=?
-                                                             id-var-name
-                                                             same-marks?
-                                                             join-marks
-                                                             join-wraps
-                                                             smart-append
-                                                             make-binding-wrap
-                                                             extend-ribcage!
-                                                             make-empty-ribcage
-                                                             new-mark
-                                                             anti-mark
-                                                             the-anti-mark
-                                                             top-marked?
-                                                             top-wrap
-                                                             empty-wrap
-                                                             
set-ribcage-labels!
-                                                             set-ribcage-marks!
-                                                             
set-ribcage-symnames!
-                                                             ribcage-labels
-                                                             ribcage-marks
-                                                             ribcage-symnames
-                                                             ribcage?
-                                                             make-ribcage
-                                                             gen-labels
-                                                             gen-label
-                                                             make-rename
-                                                             rename-marks
-                                                             rename-new
-                                                             rename-old
-                                                             subst-rename?
-                                                             wrap-subst
-                                                             wrap-marks
-                                                             make-wrap
-                                                             id-sym-name&marks
-                                                             id-sym-name
-                                                             id?
-                                                             nonsymbol-id?
-                                                             global-extend
-                                                             lookup
-                                                             macros-only-env
-                                                             extend-var-env
-                                                             extend-env
-                                                             null-env
-                                                             binding-value
-                                                             binding-type
-                                                             make-binding
-                                                             arg-check
-                                                             source-annotation
-                                                             no-source
-                                                             
set-syntax-object-module!
-                                                             
set-syntax-object-wrap!
-                                                             
set-syntax-object-expression!
-                                                             
syntax-object-module
-                                                             syntax-object-wrap
-                                                             
syntax-object-expression
-                                                             syntax-object?
-                                                             make-syntax-object
-                                                             build-lexical-var
-                                                             build-letrec
-                                                             build-named-let
-                                                             build-let
-                                                             build-sequence
-                                                             build-data
-                                                             build-primref
-                                                             build-primcall
-                                                             build-lambda-case
-                                                             build-case-lambda
-                                                             
build-simple-lambda
-                                                             
build-global-definition
-                                                             
build-global-assignment
-                                                             
build-global-reference
-                                                             analyze-variable
-                                                             
build-lexical-assignment
-                                                             
build-lexical-reference
-                                                             build-dynlet
-                                                             build-conditional
-                                                             build-call
-                                                             build-void
-                                                             maybe-name-value!
-                                                             decorate-source
-                                                             
get-global-definition-hook
-                                                             
put-global-definition-hook
-                                                             gensym-hook
-                                                             local-eval-hook
-                                                             
top-level-eval-hook
-                                                             fx<
-                                                             fx=
-                                                             fx-
-                                                             fx+
-                                                             set-lambda-meta!
-                                                             lambda-meta
-                                                             lambda?
-                                                             make-dynlet
-                                                             make-letrec
-                                                             make-let
-                                                             make-lambda-case
-                                                             make-lambda
-                                                             make-seq
-                                                             make-primcall
-                                                             make-call
-                                                             make-conditional
-                                                             
make-toplevel-define
-                                                             make-toplevel-set
-                                                             make-toplevel-ref
-                                                             make-module-set
-                                                             make-module-ref
-                                                             make-lexical-set
-                                                             make-lexical-ref
-                                                             make-primitive-ref
-                                                             make-const
-                                                             make-void)
-                                                           ((top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top))
-                                                           ("i452"
-                                                            "i450"
-                                                            "i448"
-                                                            "i446"
-                                                            "i444"
-                                                            "i442"
-                                                            "i440"
-                                                            "i438"
-                                                            "i436"
-                                                            "i434"
-                                                            "i432"
-                                                            "i430"
-                                                            "i428"
-                                                            "i426"
-                                                            "i424"
-                                                            "i422"
-                                                            "i420"
-                                                            "i418"
-                                                            "i416"
-                                                            "i414"
-                                                            "i412"
-                                                            "i410"
-                                                            "i408"
-                                                            "i406"
-                                                            "i404"
-                                                            "i402"
-                                                            "i400"
-                                                            "i398"
-                                                            "i396"
-                                                            "i394"
-                                                            "i392"
-                                                            "i390"
-                                                            "i388"
-                                                            "i386"
-                                                            "i384"
-                                                            "i383"
-                                                            "i382"
-                                                            "i380"
-                                                            "i379"
-                                                            "i378"
-                                                            "i377"
-                                                            "i376"
-                                                            "i374"
-                                                            "i372"
-                                                            "i370"
-                                                            "i368"
-                                                            "i366"
-                                                            "i364"
-                                                            "i362"
-                                                            "i360"
-                                                            "i357"
-                                                            "i355"
-                                                            "i354"
-                                                            "i353"
-                                                            "i352"
-                                                            "i351"
-                                                            "i350"
-                                                            "i349"
-                                                            "i348"
-                                                            "i347"
-                                                            "i345"
-                                                            "i344"
-                                                            "i342"
-                                                            "i340"
-                                                            "i338"
-                                                            "i336"
-                                                            "i334"
-                                                            "i332"
-                                                            "i330"
-                                                            "i329"
-                                                            "i328"
-                                                            "i327"
-                                                            "i326"
-                                                            "i325"
-                                                            "i323"
-                                                            "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"
-                                                            "i272"
-                                                            "i270"
-                                                            "i268"
-                                                            "i266"
-                                                            "i264"
-                                                            "i262"
-                                                            "i260"
-                                                            "i258"
-                                                            "i256"
-                                                            "i255"
-                                                            "i253"
-                                                            "i251"
-                                                            "i250"
-                                                            "i249"
-                                                            "i248"
-                                                            "i247"
-                                                            "i245"
-                                                            "i243"
-                                                            "i241"
-                                                            "i238"
-                                                            "i236"
-                                                            "i234"
-                                                            "i232"
-                                                            "i230"
-                                                            "i228"
-                                                            "i226"
-                                                            "i224"
-                                                            "i222"
-                                                            "i220"
-                                                            "i218"
-                                                            "i216"
-                                                            "i214"
-                                                            "i212"
-                                                            "i210"
-                                                            "i208"
-                                                            "i206"
-                                                            "i204"
-                                                            "i202"))
-                                                         #(ribcage
-                                                           (define-structure
-                                                             
define-expansion-accessors
-                                                             
define-expansion-constructors)
-                                                           ((top) (top) (top))
-                                                           ("i40"
-                                                            "i39"
-                                                            "i38")))
-                                                        (hygiene guile)))))
-                                        #{rkey 2427}#)))))
-                          #{tmp 2434}#)
-                        (let ((#{tmp 2447}#
-                                ($sc-dispatch
-                                  #{tmp 2432}#
-                                  '((any any) . any))))
-                          (if (if #{tmp 2447}#
-                                (@apply
-                                  (lambda (#{a 2451}# #{init 2452}# #{b 2453}#)
-                                    (#{id? 343}# #{a 2451}#))
-                                  #{tmp 2447}#)
-                                #f)
-                            (@apply
-                              (lambda (#{a 2457}# #{init 2458}# #{b 2459}#)
-                                (let ((#{tmp 2461}#
-                                        (symbol->keyword
-                                          (syntax->datum #{a 2457}#))))
-                                  (let ((#{k 2463}# #{tmp 2461}#))
-                                    (#{key 2315}#
-                                      #{b 2459}#
-                                      #{req 2425}#
-                                      #{opt 2426}#
-                                      (cons (list #{k 2463}#
-                                                  #{a 2457}#
-                                                  #{init 2458}#)
-                                            #{rkey 2427}#)))))
-                              #{tmp 2447}#)
-                            (let ((#{tmp 2464}#
-                                    ($sc-dispatch
-                                      #{tmp 2432}#
-                                      '((any any any) . any))))
-                              (if (if #{tmp 2464}#
-                                    (@apply
-                                      (lambda (#{a 2469}#
-                                               #{init 2470}#
-                                               #{k 2471}#
-                                               #{b 2472}#)
-                                        (if (#{id? 343}# #{a 2469}#)
-                                          (keyword? (syntax->datum #{k 2471}#))
-                                          #f))
-                                      #{tmp 2464}#)
-                                    #f)
-                                (@apply
-                                  (lambda (#{a 2479}#
-                                           #{init 2480}#
-                                           #{k 2481}#
-                                           #{b 2482}#)
-                                    (#{key 2315}#
-                                      #{b 2482}#
-                                      #{req 2425}#
-                                      #{opt 2426}#
-                                      (cons (list #{k 2481}#
-                                                  #{a 2479}#
-                                                  #{init 2480}#)
-                                            #{rkey 2427}#)))
-                                  #{tmp 2464}#)
-                                (let ((#{tmp 2483}#
-                                        ($sc-dispatch #{tmp 2432}# '(any))))
-                                  (if (if #{tmp 2483}#
-                                        (@apply
-                                          (lambda (#{aok 2485}#)
-                                            (eq? (syntax->datum #{aok 2485}#)
-                                                 #:allow-other-keys))
-                                          #{tmp 2483}#)
-                                        #f)
-                                    (@apply
-                                      (lambda (#{aok 2487}#)
-                                        (#{check 2319}#
-                                          #{req 2425}#
-                                          #{opt 2426}#
-                                          #f
-                                          (cons #t (reverse #{rkey 2427}#))))
-                                      #{tmp 2483}#)
-                                    (let ((#{tmp 2488}#
-                                            ($sc-dispatch
-                                              #{tmp 2432}#
-                                              '(any any any))))
-                                      (if (if #{tmp 2488}#
-                                            (@apply
-                                              (lambda (#{aok 2492}#
-                                                       #{a 2493}#
-                                                       #{b 2494}#)
-                                                (if (eq? (syntax->datum
-                                                           #{aok 2492}#)
-                                                         #:allow-other-keys)
-                                                  (eq? (syntax->datum
-                                                         #{a 2493}#)
-                                                       #:rest)
-                                                  #f))
-                                              #{tmp 2488}#)
-                                            #f)
-                                        (@apply
-                                          (lambda (#{aok 2500}#
-                                                   #{a 2501}#
-                                                   #{b 2502}#)
-                                            (#{rest 2317}#
-                                              #{b 2502}#
-                                              #{req 2425}#
-                                              #{opt 2426}#
-                                              (cons #t
-                                                    (reverse #{rkey 2427}#))))
-                                          #{tmp 2488}#)
-                                        (let ((#{tmp 2503}#
-                                                ($sc-dispatch
-                                                  #{tmp 2432}#
-                                                  '(any . any))))
-                                          (if (if #{tmp 2503}#
-                                                (@apply
-                                                  (lambda (#{aok 2506}#
-                                                           #{r 2507}#)
-                                                    (if (eq? (syntax->datum
-                                                               #{aok 2506}#)
-                                                             
#:allow-other-keys)
-                                                      (#{id? 343}# #{r 2507}#)
-                                                      #f))
-                                                  #{tmp 2503}#)
-                                                #f)
-                                            (@apply
-                                              (lambda (#{aok 2512}# #{r 2513}#)
-                                                (#{rest 2317}#
-                                                  #{r 2513}#
-                                                  #{req 2425}#
-                                                  #{opt 2426}#
-                                                  (cons #t
-                                                        (reverse
-                                                          #{rkey 2427}#))))
-                                              #{tmp 2503}#)
-                                            (let ((#{tmp 2514}#
-                                                    ($sc-dispatch
-                                                      #{tmp 2432}#
-                                                      '(any any))))
-                                              (if (if #{tmp 2514}#
-                                                    (@apply
-                                                      (lambda (#{a 2517}#
-                                                               #{b 2518}#)
-                                                        (eq? (syntax->datum
-                                                               #{a 2517}#)
-                                                             #:rest))
-                                                      #{tmp 2514}#)
-                                                    #f)
-                                                (@apply
-                                                  (lambda (#{a 2521}#
-                                                           #{b 2522}#)
-                                                    (#{rest 2317}#
-                                                      #{b 2522}#
-                                                      #{req 2425}#
-                                                      #{opt 2426}#
-                                                      (cons #f
-                                                            (reverse
-                                                              #{rkey 2427}#))))
-                                                  #{tmp 2514}#)
-                                                (let ((#{tmp 2523}#
-                                                        (list #{tmp 2432}#)))
-                                                  (if (if #{tmp 2523}#
-                                                        (@apply
-                                                          (lambda (#{r 2525}#)
-                                                            (#{id? 343}#
-                                                              #{r 2525}#))
-                                                          #{tmp 2523}#)
-                                                        #f)
-                                                    (@apply
-                                                      (lambda (#{r 2527}#)
-                                                        (#{rest 2317}#
-                                                          #{r 2527}#
-                                                          #{req 2425}#
-                                                          #{opt 2426}#
-                                                          (cons #f
-                                                                (reverse
-                                                                  #{rkey 
2427}#))))
-                                                      #{tmp 2523}#)
-                                                    (let ((#{else 2529}#
-                                                            #{tmp 2432}#))
-                                                      (syntax-violation
-                                                        'lambda*
-                                                        "invalid keyword 
argument list"
-                                                        #{orig-args 2308}#
-                                                        #{args 
2424}#)))))))))))))))))))))))
-          (#{rest 2317}#
-            (lambda (#{args 2530}#
-                     #{req 2531}#
-                     #{opt 2532}#
-                     #{kw 2533}#)
-              (let ((#{tmp 2538}# #{args 2530}#))
-                (let ((#{tmp 2539}# (list #{tmp 2538}#)))
-                  (if (if #{tmp 2539}#
-                        (@apply
-                          (lambda (#{r 2541}#) (#{id? 343}# #{r 2541}#))
-                          #{tmp 2539}#)
-                        #f)
-                    (@apply
-                      (lambda (#{r 2543}#)
-                        (#{check 2319}#
-                          #{req 2531}#
-                          #{opt 2532}#
-                          #{r 2543}#
-                          #{kw 2533}#))
-                      #{tmp 2539}#)
-                    (let ((#{else 2545}# #{tmp 2538}#))
-                      (syntax-violation
-                        'lambda*
-                        "invalid rest argument"
-                        #{orig-args 2308}#
-                        #{args 2530}#)))))))
-          (#{check 2319}#
-            (lambda (#{req 2546}#
-                     #{opt 2547}#
-                     #{rest 2548}#
-                     #{kw 2549}#)
-              (if (#{distinct-bound-ids? 405}#
-                    (append
-                      #{req 2546}#
-                      (map car #{opt 2547}#)
-                      (if #{rest 2548}# (list #{rest 2548}#) '())
-                      (if (pair? #{kw 2549}#)
-                        (map cadr (cdr #{kw 2549}#))
-                        '())))
-                (values
-                  #{req 2546}#
-                  #{opt 2547}#
-                  #{rest 2548}#
-                  #{kw 2549}#)
-                (syntax-violation
-                  'lambda*
-                  "duplicate identifier in argument list"
-                  #{orig-args 2308}#)))))
-         (#{req 2311}# #{orig-args 2308}# '()))))
-   (#{chi-lambda-case 447}#
-     (lambda (#{e 2557}#
-              #{r 2558}#
-              #{w 2559}#
-              #{s 2560}#
-              #{mod 2561}#
-              #{get-formals 2562}#
-              #{clauses 2563}#)
-       (letrec*
-         ((#{expand-req 2572}#
-            (lambda (#{req 2579}#
-                     #{opt 2580}#
-                     #{rest 2581}#
-                     #{kw 2582}#
-                     #{body 2583}#)
-              (let ((#{vars 2591}#
-                      (map #{gen-var 451}# #{req 2579}#))
-                    (#{labels 2592}#
-                      (#{gen-labels 358}# #{req 2579}#)))
-                (let ((#{r* 2595}#
-                        (#{extend-var-env 333}#
-                          #{labels 2592}#
-                          #{vars 2591}#
-                          #{r 2558}#))
-                      (#{w* 2596}#
-                        (#{make-binding-wrap 387}#
-                          #{req 2579}#
-                          #{labels 2592}#
-                          #{w 2559}#)))
-                  (#{expand-opt 2574}#
-                    (map syntax->datum #{req 2579}#)
-                    #{opt 2580}#
-                    #{rest 2581}#
-                    #{kw 2582}#
-                    #{body 2583}#
-                    (reverse #{vars 2591}#)
-                    #{r* 2595}#
-                    #{w* 2596}#
-                    '()
-                    '())))))
-          (#{expand-opt 2574}#
-            (lambda (#{req 2597}#
-                     #{opt 2598}#
-                     #{rest 2599}#
-                     #{kw 2600}#
-                     #{body 2601}#
-                     #{vars 2602}#
-                     #{r* 2603}#
-                     #{w* 2604}#
-                     #{out 2605}#
-                     #{inits 2606}#)
-              (if (pair? #{opt 2598}#)
-                (let ((#{tmp 2619}# (car #{opt 2598}#)))
-                  (let ((#{tmp 2620}#
-                          ($sc-dispatch #{tmp 2619}# '(any any))))
-                    (if #{tmp 2620}#
-                      (@apply
-                        (lambda (#{id 2623}# #{i 2624}#)
-                          (let ((#{v 2627}# (#{gen-var 451}# #{id 2623}#)))
-                            (let ((#{l 2629}#
-                                    (#{gen-labels 358}# (list #{v 2627}#))))
-                              (let ((#{r** 2631}#
-                                      (#{extend-var-env 333}#
-                                        #{l 2629}#
-                                        (list #{v 2627}#)
-                                        #{r* 2603}#)))
-                                (let ((#{w** 2633}#
-                                        (#{make-binding-wrap 387}#
-                                          (list #{id 2623}#)
-                                          #{l 2629}#
-                                          #{w* 2604}#)))
-                                  (#{expand-opt 2574}#
-                                    #{req 2597}#
-                                    (cdr #{opt 2598}#)
-                                    #{rest 2599}#
-                                    #{kw 2600}#
-                                    #{body 2601}#
-                                    (cons #{v 2627}# #{vars 2602}#)
-                                    #{r** 2631}#
-                                    #{w** 2633}#
-                                    (cons (syntax->datum #{id 2623}#)
-                                          #{out 2605}#)
-                                    (cons (#{chi 423}#
-                                            #{i 2624}#
-                                            #{r* 2603}#
-                                            #{w* 2604}#
-                                            #{mod 2561}#)
-                                          #{inits 2606}#)))))))
-                        #{tmp 2620}#)
-                      (syntax-violation
-                        #f
-                        "source expression failed to match any pattern"
-                        #{tmp 2619}#))))
-                (if #{rest 2599}#
-                  (let ((#{v 2638}# (#{gen-var 451}# #{rest 2599}#)))
-                    (let ((#{l 2640}#
-                            (#{gen-labels 358}# (list #{v 2638}#))))
-                      (let ((#{r* 2642}#
-                              (#{extend-var-env 333}#
-                                #{l 2640}#
-                                (list #{v 2638}#)
-                                #{r* 2603}#)))
-                        (let ((#{w* 2644}#
-                                (#{make-binding-wrap 387}#
-                                  (list #{rest 2599}#)
-                                  #{l 2640}#
-                                  #{w* 2604}#)))
-                          (#{expand-kw 2576}#
-                            #{req 2597}#
-                            (if (pair? #{out 2605}#)
-                              (reverse #{out 2605}#)
-                              #f)
-                            (syntax->datum #{rest 2599}#)
-                            (if (pair? #{kw 2600}#)
-                              (cdr #{kw 2600}#)
-                              #{kw 2600}#)
-                            #{body 2601}#
-                            (cons #{v 2638}# #{vars 2602}#)
-                            #{r* 2642}#
-                            #{w* 2644}#
-                            (if (pair? #{kw 2600}#) (car #{kw 2600}#) #f)
-                            '()
-                            #{inits 2606}#)))))
-                  (#{expand-kw 2576}#
-                    #{req 2597}#
-                    (if (pair? #{out 2605}#)
-                      (reverse #{out 2605}#)
-                      #f)
-                    #f
-                    (if (pair? #{kw 2600}#)
-                      (cdr #{kw 2600}#)
-                      #{kw 2600}#)
-                    #{body 2601}#
-                    #{vars 2602}#
-                    #{r* 2603}#
-                    #{w* 2604}#
-                    (if (pair? #{kw 2600}#) (car #{kw 2600}#) #f)
-                    '()
-                    #{inits 2606}#)))))
-          (#{expand-kw 2576}#
-            (lambda (#{req 2646}#
-                     #{opt 2647}#
-                     #{rest 2648}#
-                     #{kw 2649}#
-                     #{body 2650}#
-                     #{vars 2651}#
-                     #{r* 2652}#
-                     #{w* 2653}#
-                     #{aok 2654}#
-                     #{out 2655}#
-                     #{inits 2656}#)
-              (if (pair? #{kw 2649}#)
-                (let ((#{tmp 2670}# (car #{kw 2649}#)))
-                  (let ((#{tmp 2671}#
-                          ($sc-dispatch #{tmp 2670}# '(any any any))))
-                    (if #{tmp 2671}#
-                      (@apply
-                        (lambda (#{k 2675}# #{id 2676}# #{i 2677}#)
-                          (let ((#{v 2680}# (#{gen-var 451}# #{id 2676}#)))
-                            (let ((#{l 2682}#
-                                    (#{gen-labels 358}# (list #{v 2680}#))))
-                              (let ((#{r** 2684}#
-                                      (#{extend-var-env 333}#
-                                        #{l 2682}#
-                                        (list #{v 2680}#)
-                                        #{r* 2652}#)))
-                                (let ((#{w** 2686}#
-                                        (#{make-binding-wrap 387}#
-                                          (list #{id 2676}#)
-                                          #{l 2682}#
-                                          #{w* 2653}#)))
-                                  (#{expand-kw 2576}#
-                                    #{req 2646}#
-                                    #{opt 2647}#
-                                    #{rest 2648}#
-                                    (cdr #{kw 2649}#)
-                                    #{body 2650}#
-                                    (cons #{v 2680}# #{vars 2651}#)
-                                    #{r** 2684}#
-                                    #{w** 2686}#
-                                    #{aok 2654}#
-                                    (cons (list (syntax->datum #{k 2675}#)
-                                                (syntax->datum #{id 2676}#)
-                                                #{v 2680}#)
-                                          #{out 2655}#)
-                                    (cons (#{chi 423}#
-                                            #{i 2677}#
-                                            #{r* 2652}#
-                                            #{w* 2653}#
-                                            #{mod 2561}#)
-                                          #{inits 2656}#)))))))
-                        #{tmp 2671}#)
-                      (syntax-violation
-                        #f
-                        "source expression failed to match any pattern"
-                        #{tmp 2670}#))))
-                (#{expand-body 2578}#
-                  #{req 2646}#
-                  #{opt 2647}#
-                  #{rest 2648}#
-                  (if (let ((#{t 2690}# #{aok 2654}#))
-                        (if #{t 2690}# #{t 2690}# (pair? #{out 2655}#)))
-                    (cons #{aok 2654}# (reverse #{out 2655}#))
-                    #f)
-                  #{body 2650}#
-                  (reverse #{vars 2651}#)
-                  #{r* 2652}#
-                  #{w* 2653}#
-                  (reverse #{inits 2656}#)
-                  '()))))
-          (#{expand-body 2578}#
-            (lambda (#{req 2692}#
-                     #{opt 2693}#
-                     #{rest 2694}#
-                     #{kw 2695}#
-                     #{body 2696}#
-                     #{vars 2697}#
-                     #{r* 2698}#
-                     #{w* 2699}#
-                     #{inits 2700}#
-                     #{meta 2701}#)
-              (let ((#{tmp 2712}# #{body 2696}#))
-                (let ((#{tmp 2713}#
-                        ($sc-dispatch #{tmp 2712}# '(any any . each-any))))
-                  (if (if #{tmp 2713}#
-                        (@apply
-                          (lambda (#{docstring 2717}# #{e1 2718}# #{e2 2719}#)
-                            (string? (syntax->datum #{docstring 2717}#)))
-                          #{tmp 2713}#)
-                        #f)
-                    (@apply
-                      (lambda (#{docstring 2723}# #{e1 2724}# #{e2 2725}#)
-                        (#{expand-body 2578}#
-                          #{req 2692}#
-                          #{opt 2693}#
-                          #{rest 2694}#
-                          #{kw 2695}#
-                          (cons #{e1 2724}# #{e2 2725}#)
-                          #{vars 2697}#
-                          #{r* 2698}#
-                          #{w* 2699}#
-                          #{inits 2700}#
-                          (append
-                            #{meta 2701}#
-                            (list (cons 'documentation
-                                        (syntax->datum #{docstring 2723}#))))))
-                      #{tmp 2713}#)
-                    (let ((#{tmp 2728}#
-                            ($sc-dispatch
-                              #{tmp 2712}#
-                              '(#(vector #(each (any . any)))
-                                any
-                                .
-                                each-any))))
-                      (if #{tmp 2728}#
-                        (@apply
-                          (lambda (#{k 2733}#
-                                   #{v 2734}#
-                                   #{e1 2735}#
-                                   #{e2 2736}#)
-                            (#{expand-body 2578}#
-                              #{req 2692}#
-                              #{opt 2693}#
-                              #{rest 2694}#
-                              #{kw 2695}#
-                              (cons #{e1 2735}# #{e2 2736}#)
-                              #{vars 2697}#
-                              #{r* 2698}#
-                              #{w* 2699}#
-                              #{inits 2700}#
-                              (append
-                                #{meta 2701}#
-                                (syntax->datum
-                                  (map cons #{k 2733}# #{v 2734}#)))))
-                          #{tmp 2728}#)
-                        (let ((#{tmp 2740}#
-                                ($sc-dispatch #{tmp 2712}# '(any . each-any))))
-                          (if #{tmp 2740}#
-                            (@apply
-                              (lambda (#{e1 2743}# #{e2 2744}#)
-                                (values
-                                  #{meta 2701}#
-                                  #{req 2692}#
-                                  #{opt 2693}#
-                                  #{rest 2694}#
-                                  #{kw 2695}#
-                                  #{inits 2700}#
-                                  #{vars 2697}#
-                                  (#{chi-body 431}#
-                                    (cons #{e1 2743}# #{e2 2744}#)
-                                    (#{source-wrap 411}#
-                                      #{e 2557}#
-                                      #{w 2559}#
-                                      #{s 2560}#
-                                      #{mod 2561}#)
-                                    #{r* 2698}#
-                                    #{w* 2699}#
-                                    #{mod 2561}#)))
-                              #{tmp 2740}#)
-                            (syntax-violation
-                              #f
-                              "source expression failed to match any pattern"
-                              #{tmp 2712}#)))))))))))
-         (let ((#{tmp 2746}# #{clauses 2563}#))
-           (let ((#{tmp 2747}# ($sc-dispatch #{tmp 2746}# '())))
-             (if #{tmp 2747}#
-               (@apply (lambda () (values '() #f)) #{tmp 2747}#)
-               (let ((#{tmp 2748}#
-                       ($sc-dispatch
-                         #{tmp 2746}#
-                         '((any any . each-any)
-                           .
-                           #(each (any any . each-any))))))
-                 (if #{tmp 2748}#
-                   (@apply
-                     (lambda (#{args 2755}#
-                              #{e1 2756}#
-                              #{e2 2757}#
-                              #{args* 2758}#
-                              #{e1* 2759}#
-                              #{e2* 2760}#)
-                       (call-with-values
-                         (lambda () (#{get-formals 2562}# #{args 2755}#))
-                         (lambda (#{req 2761}#
-                                  #{opt 2762}#
-                                  #{rest 2763}#
-                                  #{kw 2764}#)
-                           (call-with-values
-                             (lambda ()
-                               (#{expand-req 2572}#
-                                 #{req 2761}#
-                                 #{opt 2762}#
-                                 #{rest 2763}#
-                                 #{kw 2764}#
-                                 (cons #{e1 2756}# #{e2 2757}#)))
-                             (lambda (#{meta 2770}#
-                                      #{req 2771}#
-                                      #{opt 2772}#
-                                      #{rest 2773}#
-                                      #{kw 2774}#
-                                      #{inits 2775}#
-                                      #{vars 2776}#
-                                      #{body 2777}#)
-                               (call-with-values
-                                 (lambda ()
-                                   (#{chi-lambda-case 447}#
-                                     #{e 2557}#
-                                     #{r 2558}#
-                                     #{w 2559}#
-                                     #{s 2560}#
-                                     #{mod 2561}#
-                                     #{get-formals 2562}#
-                                     (map (lambda (#{tmp 2788}#
-                                                   #{tmp 2787}#
-                                                   #{tmp 2786}#)
-                                            (cons #{tmp 2786}#
-                                                  (cons #{tmp 2787}#
-                                                        #{tmp 2788}#)))
-                                          #{e2* 2760}#
-                                          #{e1* 2759}#
-                                          #{args* 2758}#)))
-                                 (lambda (#{meta* 2790}# #{else* 2791}#)
-                                   (values
-                                     (append #{meta 2770}# #{meta* 2790}#)
-                                     (#{build-lambda-case 289}#
-                                       #{s 2560}#
-                                       #{req 2771}#
-                                       #{opt 2772}#
-                                       #{rest 2773}#
-                                       #{kw 2774}#
-                                       #{inits 2775}#
-                                       #{vars 2776}#
-                                       #{body 2777}#
-                                       #{else* 2791}#)))))))))
-                     #{tmp 2748}#)
-                   (syntax-violation
-                     #f
-                     "source expression failed to match any pattern"
-                     #{tmp 2746}#)))))))))
-   (#{strip 449}#
-     (lambda (#{x 2794}# #{w 2795}#)
-       (if (memq 'top (car #{w 2795}#))
-         #{x 2794}#
-         (letrec*
-           ((#{f 2802}#
-              (lambda (#{x 2803}#)
-                (if (#{syntax-object? 309}# #{x 2803}#)
-                  (#{strip 449}#
-                    (#{syntax-object-expression 311}# #{x 2803}#)
-                    (#{syntax-object-wrap 313}# #{x 2803}#))
-                  (if (pair? #{x 2803}#)
-                    (let ((#{a 2810}# (#{f 2802}# (car #{x 2803}#)))
-                          (#{d 2811}# (#{f 2802}# (cdr #{x 2803}#))))
-                      (if (if (eq? #{a 2810}# (car #{x 2803}#))
-                            (eq? #{d 2811}# (cdr #{x 2803}#))
-                            #f)
-                        #{x 2803}#
-                        (cons #{a 2810}# #{d 2811}#)))
-                    (if (vector? #{x 2803}#)
-                      (let ((#{old 2817}# (vector->list #{x 2803}#)))
-                        (let ((#{new 2819}# (map #{f 2802}# #{old 2817}#)))
-                          (letrec*
-                            ((#{lp 2823}#
-                               (lambda (#{l1 2824}# #{l2 2825}#)
-                                 (if (null? #{l1 2824}#)
-                                   #{x 2803}#
-                                   (if (eq? (car #{l1 2824}#)
-                                            (car #{l2 2825}#))
-                                     (#{lp 2823}#
-                                       (cdr #{l1 2824}#)
-                                       (cdr #{l2 2825}#))
-                                     (list->vector #{new 2819}#))))))
-                            (#{lp 2823}# #{old 2817}# #{new 2819}#))))
-                      #{x 2803}#))))))
-           (#{f 2802}# #{x 2794}#)))))
-   (#{gen-var 451}#
-     (lambda (#{id 2827}#)
-       (let ((#{id 2830}#
-               (if (#{syntax-object? 309}# #{id 2827}#)
-                 (#{syntax-object-expression 311}# #{id 2827}#)
-                 #{id 2827}#)))
-         (gensym
-           (string-append (symbol->string #{id 2830}#) " ")))))
-   (#{lambda-var-list 453}#
-     (lambda (#{vars 2832}#)
-       (letrec*
-         ((#{lvl 2838}#
-            (lambda (#{vars 2839}# #{ls 2840}# #{w 2841}#)
-              (if (pair? #{vars 2839}#)
-                (#{lvl 2838}#
-                  (cdr #{vars 2839}#)
-                  (cons (#{wrap 409}# (car #{vars 2839}#) #{w 2841}# #f)
-                        #{ls 2840}#)
-                  #{w 2841}#)
-                (if (#{id? 343}# #{vars 2839}#)
-                  (cons (#{wrap 409}# #{vars 2839}# #{w 2841}# #f)
-                        #{ls 2840}#)
-                  (if (null? #{vars 2839}#)
-                    #{ls 2840}#
-                    (if (#{syntax-object? 309}# #{vars 2839}#)
-                      (#{lvl 2838}#
-                        (#{syntax-object-expression 311}# #{vars 2839}#)
-                        #{ls 2840}#
-                        (#{join-wraps 391}#
-                          #{w 2841}#
-                          (#{syntax-object-wrap 313}# #{vars 2839}#)))
-                      (cons #{vars 2839}# #{ls 2840}#))))))))
-         (#{lvl 2838}# #{vars 2832}# '() '(()))))))
-  (begin
-    (lambda (#{x 1163}# #{update 1164}#)
-      (vector-set! #{x 1163}# 1 #{update 1164}#))
-    (lambda (#{x 1167}# #{update 1168}#)
-      (vector-set! #{x 1167}# 2 #{update 1168}#))
-    (lambda (#{x 1171}# #{update 1172}#)
-      (vector-set! #{x 1171}# 3 #{update 1172}#))
-    (lambda (#{x 1252}#)
-      (if (vector? #{x 1252}#)
-        (if (= (vector-length #{x 1252}#) 4)
-          (eq? (vector-ref #{x 1252}# 0) 'ribcage)
-          #f)
-        #f))
-    (#{global-extend 339}#
-      'local-syntax
-      'letrec-syntax
-      #t)
-    (#{global-extend 339}#
-      'local-syntax
-      'let-syntax
-      #f)
-    (#{global-extend 339}#
-      'core
-      'fluid-let-syntax
-      (lambda (#{e 2852}#
-               #{r 2853}#
-               #{w 2854}#
-               #{s 2855}#
-               #{mod 2856}#)
-        (let ((#{tmp 2862}# #{e 2852}#))
-          (let ((#{tmp 2863}#
-                  ($sc-dispatch
-                    #{tmp 2862}#
-                    '(_ #(each (any any)) any . each-any))))
-            (if (if #{tmp 2863}#
-                  (@apply
-                    (lambda (#{var 2868}#
-                             #{val 2869}#
-                             #{e1 2870}#
-                             #{e2 2871}#)
-                      (#{valid-bound-ids? 403}# #{var 2868}#))
-                    #{tmp 2863}#)
-                  #f)
-              (@apply
-                (lambda (#{var 2877}#
-                         #{val 2878}#
-                         #{e1 2879}#
-                         #{e2 2880}#)
-                  (let ((#{names 2882}#
-                          (map (lambda (#{x 2883}#)
-                                 (#{id-var-name 397}# #{x 2883}# #{w 2854}#))
-                               #{var 2877}#)))
-                    (begin
-                      (for-each
-                        (lambda (#{id 2886}# #{n 2887}#)
-                          (let ((#{atom-key 2892}#
-                                  (car (#{lookup 337}#
-                                         #{n 2887}#
-                                         #{r 2853}#
-                                         #{mod 2856}#))))
-                            (if (memv #{atom-key 2892}# '(displaced-lexical))
-                              (syntax-violation
-                                'fluid-let-syntax
-                                "identifier out of context"
-                                #{e 2852}#
-                                (#{source-wrap 411}#
-                                  #{id 2886}#
-                                  #{w 2854}#
-                                  #{s 2855}#
-                                  #{mod 2856}#)))))
-                        #{var 2877}#
-                        #{names 2882}#)
-                      (#{chi-body 431}#
-                        (cons #{e1 2879}# #{e2 2880}#)
-                        (#{source-wrap 411}#
-                          #{e 2852}#
-                          #{w 2854}#
-                          #{s 2855}#
-                          #{mod 2856}#)
-                        (#{extend-env 331}#
-                          #{names 2882}#
-                          (let ((#{trans-r 2898}#
-                                  (#{macros-only-env 335}# #{r 2853}#)))
-                            (map (lambda (#{x 2899}#)
-                                   (cons 'macro
-                                         (#{eval-local-transformer 435}#
-                                           (#{chi 423}#
-                                             #{x 2899}#
-                                             #{trans-r 2898}#
-                                             #{w 2854}#
-                                             #{mod 2856}#)
-                                           #{mod 2856}#)))
-                                 #{val 2878}#))
-                          #{r 2853}#)
-                        #{w 2854}#
-                        #{mod 2856}#))))
-                #{tmp 2863}#)
-              (let ((#{_ 2904}# #{tmp 2862}#))
-                (syntax-violation
-                  'fluid-let-syntax
-                  "bad syntax"
-                  (#{source-wrap 411}#
-                    #{e 2852}#
-                    #{w 2854}#
-                    #{s 2855}#
-                    #{mod 2856}#))))))))
-    (#{global-extend 339}#
-      'core
-      'quote
-      (lambda (#{e 2905}#
-               #{r 2906}#
-               #{w 2907}#
-               #{s 2908}#
-               #{mod 2909}#)
-        (let ((#{tmp 2915}# #{e 2905}#))
-          (let ((#{tmp 2916}#
-                  ($sc-dispatch #{tmp 2915}# '(_ any))))
-            (if #{tmp 2916}#
-              (@apply
-                (lambda (#{e 2918}#)
-                  (#{build-data 295}#
-                    #{s 2908}#
-                    (#{strip 449}# #{e 2918}# #{w 2907}#)))
-                #{tmp 2916}#)
-              (let ((#{_ 2920}# #{tmp 2915}#))
-                (syntax-violation
-                  'quote
-                  "bad syntax"
-                  (#{source-wrap 411}#
-                    #{e 2905}#
-                    #{w 2907}#
-                    #{s 2908}#
-                    #{mod 2909}#))))))))
-    (#{global-extend 339}#
-      'core
-      'syntax
-      (letrec*
-        ((#{gen-syntax 2922}#
-           (lambda (#{src 2937}#
-                    #{e 2938}#
-                    #{r 2939}#
-                    #{maps 2940}#
-                    #{ellipsis? 2941}#
-                    #{mod 2942}#)
-             (if (#{id? 343}# #{e 2938}#)
-               (let ((#{label 2950}#
-                       (#{id-var-name 397}# #{e 2938}# '(()))))
-                 (let ((#{b 2953}#
-                         (#{lookup 337}#
-                           #{label 2950}#
-                           #{r 2939}#
-                           #{mod 2942}#)))
-                   (if (eq? (car #{b 2953}#) 'syntax)
-                     (call-with-values
-                       (lambda ()
-                         (let ((#{var.lev 2956}# (cdr #{b 2953}#)))
-                           (#{gen-ref 2924}#
-                             #{src 2937}#
-                             (car #{var.lev 2956}#)
-                             (cdr #{var.lev 2956}#)
-                             #{maps 2940}#)))
-                       (lambda (#{var 2958}# #{maps 2959}#)
-                         (values (list 'ref #{var 2958}#) #{maps 2959}#)))
-                     (if (#{ellipsis? 2941}# #{e 2938}#)
-                       (syntax-violation
-                         'syntax
-                         "misplaced ellipsis"
-                         #{src 2937}#)
-                       (values (list 'quote #{e 2938}#) #{maps 2940}#)))))
-               (let ((#{tmp 2964}# #{e 2938}#))
-                 (let ((#{tmp 2965}#
-                         ($sc-dispatch #{tmp 2964}# '(any any))))
-                   (if (if #{tmp 2965}#
-                         (@apply
-                           (lambda (#{dots 2968}# #{e 2969}#)
-                             (#{ellipsis? 2941}# #{dots 2968}#))
-                           #{tmp 2965}#)
-                         #f)
-                     (@apply
-                       (lambda (#{dots 2972}# #{e 2973}#)
-                         (#{gen-syntax 2922}#
-                           #{src 2937}#
-                           #{e 2973}#
-                           #{r 2939}#
-                           #{maps 2940}#
-                           (lambda (#{x 2974}#) #f)
-                           #{mod 2942}#))
-                       #{tmp 2965}#)
-                     (let ((#{tmp 2976}#
-                             ($sc-dispatch #{tmp 2964}# '(any any . any))))
-                       (if (if #{tmp 2976}#
-                             (@apply
-                               (lambda (#{x 2980}# #{dots 2981}# #{y 2982}#)
-                                 (#{ellipsis? 2941}# #{dots 2981}#))
-                               #{tmp 2976}#)
-                             #f)
-                         (@apply
-                           (lambda (#{x 2986}# #{dots 2987}# #{y 2988}#)
-                             (letrec*
-                               ((#{f 2992}#
-                                  (lambda (#{y 2993}# #{k 2994}#)
-                                    (let ((#{tmp 3001}# #{y 2993}#))
-                                      (let ((#{tmp 3002}#
-                                              ($sc-dispatch
-                                                #{tmp 3001}#
-                                                '(any . any))))
-                                        (if (if #{tmp 3002}#
-                                              (@apply
-                                                (lambda (#{dots 3005}#
-                                                         #{y 3006}#)
-                                                  (#{ellipsis? 2941}#
-                                                    #{dots 3005}#))
-                                                #{tmp 3002}#)
-                                              #f)
-                                          (@apply
-                                            (lambda (#{dots 3009}# #{y 3010}#)
-                                              (#{f 2992}#
-                                                #{y 3010}#
-                                                (lambda (#{maps 3011}#)
-                                                  (call-with-values
-                                                    (lambda ()
-                                                      (#{k 2994}#
-                                                        (cons '()
-                                                              #{maps 3011}#)))
-                                                    (lambda (#{x 3013}#
-                                                             #{maps 3014}#)
-                                                      (if (null? (car #{maps 
3014}#))
-                                                        (syntax-violation
-                                                          'syntax
-                                                          "extra ellipsis"
-                                                          #{src 2937}#)
-                                                        (values
-                                                          (#{gen-mappend 2926}#
-                                                            #{x 3013}#
-                                                            (car #{maps 
3014}#))
-                                                          (cdr #{maps 
3014}#))))))))
-                                            #{tmp 3002}#)
-                                          (let ((#{_ 3018}# #{tmp 3001}#))
-                                            (call-with-values
-                                              (lambda ()
-                                                (#{gen-syntax 2922}#
-                                                  #{src 2937}#
-                                                  #{y 2993}#
-                                                  #{r 2939}#
-                                                  #{maps 2940}#
-                                                  #{ellipsis? 2941}#
-                                                  #{mod 2942}#))
-                                              (lambda (#{y 3019}#
-                                                       #{maps 3020}#)
-                                                (call-with-values
-                                                  (lambda ()
-                                                    (#{k 2994}# #{maps 3020}#))
-                                                  (lambda (#{x 3023}#
-                                                           #{maps 3024}#)
-                                                    (values
-                                                      (#{gen-append 2932}#
-                                                        #{x 3023}#
-                                                        #{y 3019}#)
-                                                      #{maps 3024}#))))))))))))
-                               (#{f 2992}#
-                                 #{y 2988}#
-                                 (lambda (#{maps 2995}#)
-                                   (call-with-values
-                                     (lambda ()
-                                       (#{gen-syntax 2922}#
-                                         #{src 2937}#
-                                         #{x 2986}#
-                                         #{r 2939}#
-                                         (cons '() #{maps 2995}#)
-                                         #{ellipsis? 2941}#
-                                         #{mod 2942}#))
-                                     (lambda (#{x 2997}# #{maps 2998}#)
-                                       (if (null? (car #{maps 2998}#))
-                                         (syntax-violation
-                                           'syntax
-                                           "extra ellipsis"
-                                           #{src 2937}#)
-                                         (values
-                                           (#{gen-map 2928}#
-                                             #{x 2997}#
-                                             (car #{maps 2998}#))
-                                           (cdr #{maps 2998}#)))))))))
-                           #{tmp 2976}#)
-                         (let ((#{tmp 3027}#
-                                 ($sc-dispatch #{tmp 2964}# '(any . any))))
-                           (if #{tmp 3027}#
-                             (@apply
-                               (lambda (#{x 3030}# #{y 3031}#)
-                                 (call-with-values
-                                   (lambda ()
-                                     (#{gen-syntax 2922}#
-                                       #{src 2937}#
-                                       #{x 3030}#
-                                       #{r 2939}#
-                                       #{maps 2940}#
-                                       #{ellipsis? 2941}#
-                                       #{mod 2942}#))
-                                   (lambda (#{x 3032}# #{maps 3033}#)
-                                     (call-with-values
-                                       (lambda ()
-                                         (#{gen-syntax 2922}#
-                                           #{src 2937}#
-                                           #{y 3031}#
-                                           #{r 2939}#
-                                           #{maps 3033}#
-                                           #{ellipsis? 2941}#
-                                           #{mod 2942}#))
-                                       (lambda (#{y 3036}# #{maps 3037}#)
-                                         (values
-                                           (#{gen-cons 2930}#
-                                             #{x 3032}#
-                                             #{y 3036}#)
-                                           #{maps 3037}#))))))
-                               #{tmp 3027}#)
-                             (let ((#{tmp 3040}#
-                                     ($sc-dispatch
-                                       #{tmp 2964}#
-                                       '#(vector (any . each-any)))))
-                               (if #{tmp 3040}#
-                                 (@apply
-                                   (lambda (#{e1 3043}# #{e2 3044}#)
-                                     (call-with-values
-                                       (lambda ()
-                                         (#{gen-syntax 2922}#
-                                           #{src 2937}#
-                                           (cons #{e1 3043}# #{e2 3044}#)
-                                           #{r 2939}#
-                                           #{maps 2940}#
-                                           #{ellipsis? 2941}#
-                                           #{mod 2942}#))
-                                       (lambda (#{e 3046}# #{maps 3047}#)
-                                         (values
-                                           (#{gen-vector 2934}# #{e 3046}#)
-                                           #{maps 3047}#))))
-                                   #{tmp 3040}#)
-                                 (let ((#{_ 3051}# #{tmp 2964}#))
-                                   (values
-                                     (list 'quote #{e 2938}#)
-                                     #{maps 2940}#))))))))))))))
-         (#{gen-ref 2924}#
-           (lambda (#{src 3053}#
-                    #{var 3054}#
-                    #{level 3055}#
-                    #{maps 3056}#)
-             (if (= #{level 3055}# 0)
-               (values #{var 3054}# #{maps 3056}#)
-               (if (null? #{maps 3056}#)
-                 (syntax-violation
-                   'syntax
-                   "missing ellipsis"
-                   #{src 3053}#)
-                 (call-with-values
-                   (lambda ()
-                     (#{gen-ref 2924}#
-                       #{src 3053}#
-                       #{var 3054}#
-                       (#{1-}# #{level 3055}#)
-                       (cdr #{maps 3056}#)))
-                   (lambda (#{outer-var 3063}# #{outer-maps 3064}#)
-                     (let ((#{b 3068}#
-                             (assq #{outer-var 3063}# (car #{maps 3056}#))))
-                       (if #{b 3068}#
-                         (values (cdr #{b 3068}#) #{maps 3056}#)
-                         (let ((#{inner-var 3070}# (#{gen-var 451}# 'tmp)))
-                           (values
-                             #{inner-var 3070}#
-                             (cons (cons (cons #{outer-var 3063}#
-                                               #{inner-var 3070}#)
-                                         (car #{maps 3056}#))
-                                   #{outer-maps 3064}#)))))))))))
-         (#{gen-mappend 2926}#
-           (lambda (#{e 3071}# #{map-env 3072}#)
-             (list 'apply
-                   '(primitive append)
-                   (#{gen-map 2928}# #{e 3071}# #{map-env 3072}#))))
-         (#{gen-map 2928}#
-           (lambda (#{e 3076}# #{map-env 3077}#)
-             (let ((#{formals 3082}# (map cdr #{map-env 3077}#))
-                   (#{actuals 3083}#
-                     (map (lambda (#{x 3084}#)
-                            (list 'ref (car #{x 3084}#)))
-                          #{map-env 3077}#)))
-               (if (eq? (car #{e 3076}#) 'ref)
-                 (car #{actuals 3083}#)
-                 (if (and-map
-                       (lambda (#{x 3091}#)
-                         (if (eq? (car #{x 3091}#) 'ref)
-                           (memq (car (cdr #{x 3091}#)) #{formals 3082}#)
-                           #f))
-                       (cdr #{e 3076}#))
-                   (cons 'map
-                         (cons (list 'primitive (car #{e 3076}#))
-                               (map (let ((#{r 3097}#
-                                            (map cons
-                                                 #{formals 3082}#
-                                                 #{actuals 3083}#)))
-                                      (lambda (#{x 3098}#)
-                                        (cdr (assq (car (cdr #{x 3098}#))
-                                                   #{r 3097}#))))
-                                    (cdr #{e 3076}#))))
-                   (cons 'map
-                         (cons (list 'lambda #{formals 3082}# #{e 3076}#)
-                               #{actuals 3083}#)))))))
-         (#{gen-cons 2930}#
-           (lambda (#{x 3102}# #{y 3103}#)
-             (let ((#{atom-key 3108}# (car #{y 3103}#)))
-               (if (memv #{atom-key 3108}# '(quote))
-                 (if (eq? (car #{x 3102}#) 'quote)
-                   (list 'quote
-                         (cons (car (cdr #{x 3102}#))
-                               (car (cdr #{y 3103}#))))
-                   (if (eq? (car (cdr #{y 3103}#)) '())
-                     (list 'list #{x 3102}#)
-                     (list 'cons #{x 3102}# #{y 3103}#)))
-                 (if (memv #{atom-key 3108}# '(list))
-                   (cons 'list (cons #{x 3102}# (cdr #{y 3103}#)))
-                   (list 'cons #{x 3102}# #{y 3103}#))))))
-         (#{gen-append 2932}#
-           (lambda (#{x 3117}# #{y 3118}#)
-             (if (equal? #{y 3118}# ''())
-               #{x 3117}#
-               (list 'append #{x 3117}# #{y 3118}#))))
-         (#{gen-vector 2934}#
-           (lambda (#{x 3122}#)
-             (if (eq? (car #{x 3122}#) 'list)
-               (cons 'vector (cdr #{x 3122}#))
-               (if (eq? (car #{x 3122}#) 'quote)
-                 (list 'quote
-                       (list->vector (car (cdr #{x 3122}#))))
-                 (list 'list->vector #{x 3122}#)))))
-         (#{regen 2936}#
-           (lambda (#{x 3132}#)
-             (let ((#{atom-key 3136}# (car #{x 3132}#)))
-               (if (memv #{atom-key 3136}# '(ref))
-                 (#{build-lexical-reference 273}#
-                   'value
-                   #f
-                   (car (cdr #{x 3132}#))
-                   (car (cdr #{x 3132}#)))
-                 (if (memv #{atom-key 3136}# '(primitive))
-                   (#{build-primref 293}# #f (car (cdr #{x 3132}#)))
-                   (if (memv #{atom-key 3136}# '(quote))
-                     (#{build-data 295}# #f (car (cdr #{x 3132}#)))
-                     (if (memv #{atom-key 3136}# '(lambda))
-                       (if (list? (car (cdr #{x 3132}#)))
-                         (#{build-simple-lambda 285}#
-                           #f
-                           (car (cdr #{x 3132}#))
-                           #f
-                           (car (cdr #{x 3132}#))
-                           '()
-                           (#{regen 2936}# (car (cdr (cdr #{x 3132}#)))))
-                         (error "how did we get here" #{x 3132}#))
-                       (#{build-primcall 291}#
-                         #f
-                         (car #{x 3132}#)
-                         (map #{regen 2936}# (cdr #{x 3132}#)))))))))))
-        (lambda (#{e 3147}#
-                 #{r 3148}#
-                 #{w 3149}#
-                 #{s 3150}#
-                 #{mod 3151}#)
-          (let ((#{e 3158}#
-                  (#{source-wrap 411}#
-                    #{e 3147}#
-                    #{w 3149}#
-                    #{s 3150}#
-                    #{mod 3151}#)))
-            (let ((#{tmp 3159}# #{e 3158}#))
-              (let ((#{tmp 3160}#
-                      ($sc-dispatch #{tmp 3159}# '(_ any))))
-                (if #{tmp 3160}#
-                  (@apply
-                    (lambda (#{x 3162}#)
-                      (call-with-values
-                        (lambda ()
-                          (#{gen-syntax 2922}#
-                            #{e 3158}#
-                            #{x 3162}#
-                            #{r 3148}#
-                            '()
-                            #{ellipsis? 439}#
-                            #{mod 3151}#))
-                        (lambda (#{e 3163}# #{maps 3164}#)
-                          (#{regen 2936}# #{e 3163}#))))
-                    #{tmp 3160}#)
-                  (let ((#{_ 3168}# #{tmp 3159}#))
-                    (syntax-violation
-                      'syntax
-                      "bad `syntax' form"
-                      #{e 3158}#)))))))))
-    (#{global-extend 339}#
-      'core
-      'lambda
-      (lambda (#{e 3169}#
-               #{r 3170}#
-               #{w 3171}#
-               #{s 3172}#
-               #{mod 3173}#)
-        (let ((#{tmp 3179}# #{e 3169}#))
-          (let ((#{tmp 3180}#
-                  ($sc-dispatch
-                    #{tmp 3179}#
-                    '(_ any any . each-any))))
-            (if #{tmp 3180}#
-              (@apply
-                (lambda (#{args 3184}# #{e1 3185}# #{e2 3186}#)
-                  (call-with-values
-                    (lambda ()
-                      (#{lambda-formals 441}# #{args 3184}#))
-                    (lambda (#{req 3187}#
-                             #{opt 3188}#
-                             #{rest 3189}#
-                             #{kw 3190}#)
-                      (letrec*
-                        ((#{lp 3198}#
-                           (lambda (#{body 3199}# #{meta 3200}#)
-                             (let ((#{tmp 3202}# #{body 3199}#))
-                               (let ((#{tmp 3203}#
-                                       ($sc-dispatch
-                                         #{tmp 3202}#
-                                         '(any any . each-any))))
-                                 (if (if #{tmp 3203}#
-                                       (@apply
-                                         (lambda (#{docstring 3207}#
-                                                  #{e1 3208}#
-                                                  #{e2 3209}#)
-                                           (string?
-                                             (syntax->datum
-                                               #{docstring 3207}#)))
-                                         #{tmp 3203}#)
-                                       #f)
-                                   (@apply
-                                     (lambda (#{docstring 3213}#
-                                              #{e1 3214}#
-                                              #{e2 3215}#)
-                                       (#{lp 3198}#
-                                         (cons #{e1 3214}# #{e2 3215}#)
-                                         (append
-                                           #{meta 3200}#
-                                           (list (cons 'documentation
-                                                       (syntax->datum
-                                                         #{docstring 
3213}#))))))
-                                     #{tmp 3203}#)
-                                   (let ((#{tmp 3218}#
-                                           ($sc-dispatch
-                                             #{tmp 3202}#
-                                             '(#(vector #(each (any . any)))
-                                               any
-                                               .
-                                               each-any))))
-                                     (if #{tmp 3218}#
-                                       (@apply
-                                         (lambda (#{k 3223}#
-                                                  #{v 3224}#
-                                                  #{e1 3225}#
-                                                  #{e2 3226}#)
-                                           (#{lp 3198}#
-                                             (cons #{e1 3225}# #{e2 3226}#)
-                                             (append
-                                               #{meta 3200}#
-                                               (syntax->datum
-                                                 (map cons
-                                                      #{k 3223}#
-                                                      #{v 3224}#)))))
-                                         #{tmp 3218}#)
-                                       (let ((#{_ 3231}# #{tmp 3202}#))
-                                         (#{chi-simple-lambda 443}#
-                                           #{e 3169}#
-                                           #{r 3170}#
-                                           #{w 3171}#
-                                           #{s 3172}#
-                                           #{mod 3173}#
-                                           #{req 3187}#
-                                           #{rest 3189}#
-                                           #{meta 3200}#
-                                           #{body 3199}#))))))))))
-                        (#{lp 3198}# (cons #{e1 3185}# #{e2 3186}#) '())))))
-                #{tmp 3180}#)
-              (let ((#{_ 3233}# #{tmp 3179}#))
-                (syntax-violation
-                  'lambda
-                  "bad lambda"
-                  #{e 3169}#)))))))
-    (#{global-extend 339}#
-      'core
-      'lambda*
-      (lambda (#{e 3234}#
-               #{r 3235}#
-               #{w 3236}#
-               #{s 3237}#
-               #{mod 3238}#)
-        (let ((#{tmp 3244}# #{e 3234}#))
-          (let ((#{tmp 3245}#
-                  ($sc-dispatch
-                    #{tmp 3244}#
-                    '(_ any any . each-any))))
-            (if #{tmp 3245}#
-              (@apply
-                (lambda (#{args 3249}# #{e1 3250}# #{e2 3251}#)
-                  (call-with-values
-                    (lambda ()
-                      (#{chi-lambda-case 447}#
-                        #{e 3234}#
-                        #{r 3235}#
-                        #{w 3236}#
-                        #{s 3237}#
-                        #{mod 3238}#
-                        #{lambda*-formals 445}#
-                        (list (cons #{args 3249}#
-                                    (cons #{e1 3250}# #{e2 3251}#)))))
-                    (lambda (#{meta 3253}# #{lcase 3254}#)
-                      (#{build-case-lambda 287}#
-                        #{s 3237}#
-                        #{meta 3253}#
-                        #{lcase 3254}#))))
-                #{tmp 3245}#)
-              (let ((#{_ 3258}# #{tmp 3244}#))
-                (syntax-violation
-                  'lambda
-                  "bad lambda*"
-                  #{e 3234}#)))))))
-    (#{global-extend 339}#
-      'core
-      'case-lambda
-      (lambda (#{e 3259}#
-               #{r 3260}#
-               #{w 3261}#
-               #{s 3262}#
-               #{mod 3263}#)
-        (let ((#{tmp 3269}# #{e 3259}#))
-          (let ((#{tmp 3270}#
-                  ($sc-dispatch
-                    #{tmp 3269}#
-                    '(_ (any any . each-any)
-                        .
-                        #(each (any any . each-any))))))
-            (if #{tmp 3270}#
-              (@apply
-                (lambda (#{args 3277}#
-                         #{e1 3278}#
-                         #{e2 3279}#
-                         #{args* 3280}#
-                         #{e1* 3281}#
-                         #{e2* 3282}#)
-                  (call-with-values
-                    (lambda ()
-                      (#{chi-lambda-case 447}#
-                        #{e 3259}#
-                        #{r 3260}#
-                        #{w 3261}#
-                        #{s 3262}#
-                        #{mod 3263}#
-                        #{lambda-formals 441}#
-                        (cons (cons #{args 3277}#
-                                    (cons #{e1 3278}# #{e2 3279}#))
-                              (map (lambda (#{tmp 3286}#
-                                            #{tmp 3285}#
-                                            #{tmp 3284}#)
-                                     (cons #{tmp 3284}#
-                                           (cons #{tmp 3285}# #{tmp 3286}#)))
-                                   #{e2* 3282}#
-                                   #{e1* 3281}#
-                                   #{args* 3280}#))))
-                    (lambda (#{meta 3288}# #{lcase 3289}#)
-                      (#{build-case-lambda 287}#
-                        #{s 3262}#
-                        #{meta 3288}#
-                        #{lcase 3289}#))))
-                #{tmp 3270}#)
-              (let ((#{_ 3293}# #{tmp 3269}#))
-                (syntax-violation
-                  'case-lambda
-                  "bad case-lambda"
-                  #{e 3259}#)))))))
-    (#{global-extend 339}#
-      'core
-      'case-lambda*
-      (lambda (#{e 3294}#
-               #{r 3295}#
-               #{w 3296}#
-               #{s 3297}#
-               #{mod 3298}#)
-        (let ((#{tmp 3304}# #{e 3294}#))
-          (let ((#{tmp 3305}#
-                  ($sc-dispatch
-                    #{tmp 3304}#
-                    '(_ (any any . each-any)
-                        .
-                        #(each (any any . each-any))))))
-            (if #{tmp 3305}#
-              (@apply
-                (lambda (#{args 3312}#
-                         #{e1 3313}#
-                         #{e2 3314}#
-                         #{args* 3315}#
-                         #{e1* 3316}#
-                         #{e2* 3317}#)
-                  (call-with-values
-                    (lambda ()
-                      (#{chi-lambda-case 447}#
-                        #{e 3294}#
-                        #{r 3295}#
-                        #{w 3296}#
-                        #{s 3297}#
-                        #{mod 3298}#
-                        #{lambda*-formals 445}#
-                        (cons (cons #{args 3312}#
-                                    (cons #{e1 3313}# #{e2 3314}#))
-                              (map (lambda (#{tmp 3321}#
-                                            #{tmp 3320}#
-                                            #{tmp 3319}#)
-                                     (cons #{tmp 3319}#
-                                           (cons #{tmp 3320}# #{tmp 3321}#)))
-                                   #{e2* 3317}#
-                                   #{e1* 3316}#
-                                   #{args* 3315}#))))
-                    (lambda (#{meta 3323}# #{lcase 3324}#)
-                      (#{build-case-lambda 287}#
-                        #{s 3297}#
-                        #{meta 3323}#
-                        #{lcase 3324}#))))
-                #{tmp 3305}#)
-              (let ((#{_ 3328}# #{tmp 3304}#))
-                (syntax-violation
-                  'case-lambda
-                  "bad case-lambda*"
-                  #{e 3294}#)))))))
-    (#{global-extend 339}#
-      'core
-      'let
-      (letrec*
-        ((#{chi-let 3330}#
-           (lambda (#{e 3331}#
-                    #{r 3332}#
-                    #{w 3333}#
-                    #{s 3334}#
-                    #{mod 3335}#
-                    #{constructor 3336}#
-                    #{ids 3337}#
-                    #{vals 3338}#
-                    #{exps 3339}#)
-             (if (not (#{valid-bound-ids? 403}# #{ids 3337}#))
-               (syntax-violation
-                 'let
-                 "duplicate bound variable"
-                 #{e 3331}#)
-               (let ((#{labels 3351}#
-                       (#{gen-labels 358}# #{ids 3337}#))
-                     (#{new-vars 3352}#
-                       (map #{gen-var 451}# #{ids 3337}#)))
-                 (let ((#{nw 3355}#
-                         (#{make-binding-wrap 387}#
-                           #{ids 3337}#
-                           #{labels 3351}#
-                           #{w 3333}#))
-                       (#{nr 3356}#
-                         (#{extend-var-env 333}#
-                           #{labels 3351}#
-                           #{new-vars 3352}#
-                           #{r 3332}#)))
-                   (#{constructor 3336}#
-                     #{s 3334}#
-                     (map syntax->datum #{ids 3337}#)
-                     #{new-vars 3352}#
-                     (map (lambda (#{x 3357}#)
-                            (#{chi 423}#
-                              #{x 3357}#
-                              #{r 3332}#
-                              #{w 3333}#
-                              #{mod 3335}#))
-                          #{vals 3338}#)
-                     (#{chi-body 431}#
-                       #{exps 3339}#
-                       (#{source-wrap 411}#
-                         #{e 3331}#
-                         #{nw 3355}#
-                         #{s 3334}#
-                         #{mod 3335}#)
-                       #{nr 3356}#
-                       #{nw 3355}#
-                       #{mod 3335}#))))))))
-        (lambda (#{e 3359}#
-                 #{r 3360}#
-                 #{w 3361}#
-                 #{s 3362}#
-                 #{mod 3363}#)
-          (let ((#{tmp 3369}# #{e 3359}#))
-            (let ((#{tmp 3370}#
-                    ($sc-dispatch
-                      #{tmp 3369}#
-                      '(_ #(each (any any)) any . each-any))))
-              (if (if #{tmp 3370}#
-                    (@apply
-                      (lambda (#{id 3375}#
-                               #{val 3376}#
-                               #{e1 3377}#
-                               #{e2 3378}#)
-                        (and-map #{id? 343}# #{id 3375}#))
-                      #{tmp 3370}#)
-                    #f)
-                (@apply
-                  (lambda (#{id 3384}#
-                           #{val 3385}#
-                           #{e1 3386}#
-                           #{e2 3387}#)
-                    (#{chi-let 3330}#
-                      #{e 3359}#
-                      #{r 3360}#
-                      #{w 3361}#
-                      #{s 3362}#
-                      #{mod 3363}#
-                      #{build-let 299}#
-                      #{id 3384}#
-                      #{val 3385}#
-                      (cons #{e1 3386}# #{e2 3387}#)))
-                  #{tmp 3370}#)
-                (let ((#{tmp 3391}#
-                        ($sc-dispatch
-                          #{tmp 3369}#
-                          '(_ any #(each (any any)) any . each-any))))
-                  (if (if #{tmp 3391}#
-                        (@apply
-                          (lambda (#{f 3397}#
-                                   #{id 3398}#
-                                   #{val 3399}#
-                                   #{e1 3400}#
-                                   #{e2 3401}#)
-                            (if (#{id? 343}# #{f 3397}#)
-                              (and-map #{id? 343}# #{id 3398}#)
-                              #f))
-                          #{tmp 3391}#)
-                        #f)
-                    (@apply
-                      (lambda (#{f 3410}#
-                               #{id 3411}#
-                               #{val 3412}#
-                               #{e1 3413}#
-                               #{e2 3414}#)
-                        (#{chi-let 3330}#
-                          #{e 3359}#
-                          #{r 3360}#
-                          #{w 3361}#
-                          #{s 3362}#
-                          #{mod 3363}#
-                          #{build-named-let 301}#
-                          (cons #{f 3410}# #{id 3411}#)
-                          #{val 3412}#
-                          (cons #{e1 3413}# #{e2 3414}#)))
-                      #{tmp 3391}#)
-                    (let ((#{_ 3419}# #{tmp 3369}#))
-                      (syntax-violation
-                        'let
-                        "bad let"
-                        (#{source-wrap 411}#
-                          #{e 3359}#
-                          #{w 3361}#
-                          #{s 3362}#
-                          #{mod 3363}#)))))))))))
-    (#{global-extend 339}#
-      'core
-      'letrec
-      (lambda (#{e 3420}#
-               #{r 3421}#
-               #{w 3422}#
-               #{s 3423}#
-               #{mod 3424}#)
-        (let ((#{tmp 3430}# #{e 3420}#))
-          (let ((#{tmp 3431}#
-                  ($sc-dispatch
-                    #{tmp 3430}#
-                    '(_ #(each (any any)) any . each-any))))
-            (if (if #{tmp 3431}#
-                  (@apply
-                    (lambda (#{id 3436}#
-                             #{val 3437}#
-                             #{e1 3438}#
-                             #{e2 3439}#)
-                      (and-map #{id? 343}# #{id 3436}#))
-                    #{tmp 3431}#)
-                  #f)
-              (@apply
-                (lambda (#{id 3445}#
-                         #{val 3446}#
-                         #{e1 3447}#
-                         #{e2 3448}#)
-                  (let ((#{ids 3450}# #{id 3445}#))
-                    (if (not (#{valid-bound-ids? 403}# #{ids 3450}#))
-                      (syntax-violation
-                        'letrec
-                        "duplicate bound variable"
-                        #{e 3420}#)
-                      (let ((#{labels 3454}#
-                              (#{gen-labels 358}# #{ids 3450}#))
-                            (#{new-vars 3455}#
-                              (map #{gen-var 451}# #{ids 3450}#)))
-                        (let ((#{w 3458}#
-                                (#{make-binding-wrap 387}#
-                                  #{ids 3450}#
-                                  #{labels 3454}#
-                                  #{w 3422}#))
-                              (#{r 3459}#
-                                (#{extend-var-env 333}#
-                                  #{labels 3454}#
-                                  #{new-vars 3455}#
-                                  #{r 3421}#)))
-                          (#{build-letrec 303}#
-                            #{s 3423}#
-                            #f
-                            (map syntax->datum #{ids 3450}#)
-                            #{new-vars 3455}#
-                            (map (lambda (#{x 3460}#)
-                                   (#{chi 423}#
-                                     #{x 3460}#
-                                     #{r 3459}#
-                                     #{w 3458}#
-                                     #{mod 3424}#))
-                                 #{val 3446}#)
-                            (#{chi-body 431}#
-                              (cons #{e1 3447}# #{e2 3448}#)
-                              (#{source-wrap 411}#
-                                #{e 3420}#
-                                #{w 3458}#
-                                #{s 3423}#
-                                #{mod 3424}#)
-                              #{r 3459}#
-                              #{w 3458}#
-                              #{mod 3424}#)))))))
-                #{tmp 3431}#)
-              (let ((#{_ 3465}# #{tmp 3430}#))
-                (syntax-violation
-                  'letrec
-                  "bad letrec"
-                  (#{source-wrap 411}#
-                    #{e 3420}#
-                    #{w 3422}#
-                    #{s 3423}#
-                    #{mod 3424}#))))))))
-    (#{global-extend 339}#
-      'core
-      'letrec*
-      (lambda (#{e 3466}#
-               #{r 3467}#
-               #{w 3468}#
-               #{s 3469}#
-               #{mod 3470}#)
-        (let ((#{tmp 3476}# #{e 3466}#))
-          (let ((#{tmp 3477}#
-                  ($sc-dispatch
-                    #{tmp 3476}#
-                    '(_ #(each (any any)) any . each-any))))
-            (if (if #{tmp 3477}#
-                  (@apply
-                    (lambda (#{id 3482}#
-                             #{val 3483}#
-                             #{e1 3484}#
-                             #{e2 3485}#)
-                      (and-map #{id? 343}# #{id 3482}#))
-                    #{tmp 3477}#)
-                  #f)
-              (@apply
-                (lambda (#{id 3491}#
-                         #{val 3492}#
-                         #{e1 3493}#
-                         #{e2 3494}#)
-                  (let ((#{ids 3496}# #{id 3491}#))
-                    (if (not (#{valid-bound-ids? 403}# #{ids 3496}#))
-                      (syntax-violation
-                        'letrec*
-                        "duplicate bound variable"
-                        #{e 3466}#)
-                      (let ((#{labels 3500}#
-                              (#{gen-labels 358}# #{ids 3496}#))
-                            (#{new-vars 3501}#
-                              (map #{gen-var 451}# #{ids 3496}#)))
-                        (let ((#{w 3504}#
-                                (#{make-binding-wrap 387}#
-                                  #{ids 3496}#
-                                  #{labels 3500}#
-                                  #{w 3468}#))
-                              (#{r 3505}#
-                                (#{extend-var-env 333}#
-                                  #{labels 3500}#
-                                  #{new-vars 3501}#
-                                  #{r 3467}#)))
-                          (#{build-letrec 303}#
-                            #{s 3469}#
-                            #t
-                            (map syntax->datum #{ids 3496}#)
-                            #{new-vars 3501}#
-                            (map (lambda (#{x 3506}#)
-                                   (#{chi 423}#
-                                     #{x 3506}#
-                                     #{r 3505}#
-                                     #{w 3504}#
-                                     #{mod 3470}#))
-                                 #{val 3492}#)
-                            (#{chi-body 431}#
-                              (cons #{e1 3493}# #{e2 3494}#)
-                              (#{source-wrap 411}#
-                                #{e 3466}#
-                                #{w 3504}#
-                                #{s 3469}#
-                                #{mod 3470}#)
-                              #{r 3505}#
-                              #{w 3504}#
-                              #{mod 3470}#)))))))
-                #{tmp 3477}#)
-              (let ((#{_ 3511}# #{tmp 3476}#))
-                (syntax-violation
-                  'letrec*
-                  "bad letrec*"
-                  (#{source-wrap 411}#
-                    #{e 3466}#
-                    #{w 3468}#
-                    #{s 3469}#
-                    #{mod 3470}#))))))))
-    (#{global-extend 339}#
-      'core
-      'set!
-      (lambda (#{e 3512}#
-               #{r 3513}#
-               #{w 3514}#
-               #{s 3515}#
-               #{mod 3516}#)
-        (let ((#{tmp 3522}# #{e 3512}#))
-          (let ((#{tmp 3523}#
-                  ($sc-dispatch #{tmp 3522}# '(_ any any))))
-            (if (if #{tmp 3523}#
-                  (@apply
-                    (lambda (#{id 3526}# #{val 3527}#)
-                      (#{id? 343}# #{id 3526}#))
-                    #{tmp 3523}#)
-                  #f)
-              (@apply
-                (lambda (#{id 3530}# #{val 3531}#)
-                  (let ((#{n 3534}#
-                          (#{id-var-name 397}# #{id 3530}# #{w 3514}#))
-                        (#{id-mod 3535}#
-                          (if (#{syntax-object? 309}# #{id 3530}#)
-                            (#{syntax-object-module 315}# #{id 3530}#)
-                            #{mod 3516}#)))
-                    (let ((#{b 3537}#
-                            (#{lookup 337}#
-                              #{n 3534}#
-                              #{r 3513}#
-                              #{id-mod 3535}#)))
-                      (let ((#{atom-key 3540}# (car #{b 3537}#)))
-                        (if (memv #{atom-key 3540}# '(lexical))
-                          (#{build-lexical-assignment 275}#
-                            #{s 3515}#
-                            (syntax->datum #{id 3530}#)
-                            (cdr #{b 3537}#)
-                            (#{chi 423}#
-                              #{val 3531}#
-                              #{r 3513}#
-                              #{w 3514}#
-                              #{mod 3516}#))
-                          (if (memv #{atom-key 3540}# '(global))
-                            (#{build-global-assignment 281}#
-                              #{s 3515}#
-                              #{n 3534}#
-                              (#{chi 423}#
-                                #{val 3531}#
-                                #{r 3513}#
-                                #{w 3514}#
-                                #{mod 3516}#)
-                              #{id-mod 3535}#)
-                            (if (memv #{atom-key 3540}# '(macro))
-                              (let ((#{p 3547}# (cdr #{b 3537}#)))
-                                (if (procedure-property
-                                      #{p 3547}#
-                                      'variable-transformer)
-                                  (#{chi 423}#
-                                    (#{chi-macro 429}#
-                                      #{p 3547}#
-                                      #{e 3512}#
-                                      #{r 3513}#
-                                      #{w 3514}#
-                                      #{s 3515}#
-                                      #f
-                                      #{mod 3516}#)
-                                    #{r 3513}#
-                                    '(())
-                                    #{mod 3516}#)
-                                  (syntax-violation
-                                    'set!
-                                    "not a variable transformer"
-                                    (#{wrap 409}#
-                                      #{e 3512}#
-                                      #{w 3514}#
-                                      #{mod 3516}#)
-                                    (#{wrap 409}#
-                                      #{id 3530}#
-                                      #{w 3514}#
-                                      #{id-mod 3535}#))))
-                              (if (memv #{atom-key 3540}# '(displaced-lexical))
-                                (syntax-violation
-                                  'set!
-                                  "identifier out of context"
-                                  (#{wrap 409}#
-                                    #{id 3530}#
-                                    #{w 3514}#
-                                    #{mod 3516}#))
-                                (syntax-violation
-                                  'set!
-                                  "bad set!"
-                                  (#{source-wrap 411}#
-                                    #{e 3512}#
-                                    #{w 3514}#
-                                    #{s 3515}#
-                                    #{mod 3516}#))))))))))
-                #{tmp 3523}#)
-              (let ((#{tmp 3552}#
-                      ($sc-dispatch
-                        #{tmp 3522}#
-                        '(_ (any . each-any) any))))
-                (if #{tmp 3552}#
-                  (@apply
-                    (lambda (#{head 3556}# #{tail 3557}# #{val 3558}#)
-                      (call-with-values
-                        (lambda ()
-                          (#{syntax-type 421}#
-                            #{head 3556}#
-                            #{r 3513}#
-                            '(())
-                            #f
-                            #f
-                            #{mod 3516}#
-                            #t))
-                        (lambda (#{type 3561}#
-                                 #{value 3562}#
-                                 #{ee 3563}#
-                                 #{ww 3564}#
-                                 #{ss 3565}#
-                                 #{modmod 3566}#)
-                          (if (memv #{type 3561}# '(module-ref))
-                            (let ((#{val 3575}#
-                                    (#{chi 423}#
-                                      #{val 3558}#
-                                      #{r 3513}#
-                                      #{w 3514}#
-                                      #{mod 3516}#)))
-                              (call-with-values
-                                (lambda ()
-                                  (#{value 3562}#
-                                    (cons #{head 3556}# #{tail 3557}#)
-                                    #{r 3513}#
-                                    #{w 3514}#))
-                                (lambda (#{e 3577}#
-                                         #{r 3578}#
-                                         #{w 3579}#
-                                         #{s* 3580}#
-                                         #{mod 3581}#)
-                                  (let ((#{tmp 3587}# #{e 3577}#))
-                                    (let ((#{tmp 3588}# (list #{tmp 3587}#)))
-                                      (if (if #{tmp 3588}#
-                                            (@apply
-                                              (lambda (#{e 3590}#)
-                                                (#{id? 343}# #{e 3590}#))
-                                              #{tmp 3588}#)
-                                            #f)
-                                        (@apply
-                                          (lambda (#{e 3592}#)
-                                            (#{build-global-assignment 281}#
-                                              #{s 3515}#
-                                              (syntax->datum #{e 3592}#)
-                                              #{val 3575}#
-                                              #{mod 3581}#))
-                                          #{tmp 3588}#)
-                                        (syntax-violation
-                                          #f
-                                          "source expression failed to match 
any pattern"
-                                          #{tmp 3587}#)))))))
-                            (#{build-call 267}#
-                              #{s 3515}#
-                              (#{chi 423}#
-                                (list '#(syntax-object
-                                         setter
-                                         ((top)
-                                          #(ribcage () () ())
-                                          #(ribcage () () ())
-                                          #(ribcage
-                                            #(type value ee ww ss modmod)
-                                            #((top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top))
-                                            #("i3567"
-                                              "i3568"
-                                              "i3569"
-                                              "i3570"
-                                              "i3571"
-                                              "i3572"))
-                                          #(ribcage
-                                            #(head tail val)
-                                            #((top) (top) (top))
-                                            #("i3553" "i3554" "i3555"))
-                                          #(ribcage () () ())
-                                          #(ribcage
-                                            #(e r w s mod)
-                                            #((top) (top) (top) (top) (top))
-                                            #("i3517"
-                                              "i3518"
-                                              "i3519"
-                                              "i3520"
-                                              "i3521"))
-                                          #(ribcage
-                                            (lambda-var-list
-                                              gen-var
-                                              strip
-                                              chi-lambda-case
-                                              lambda*-formals
-                                              chi-simple-lambda
-                                              lambda-formals
-                                              ellipsis?
-                                              chi-void
-                                              eval-local-transformer
-                                              chi-local-syntax
-                                              chi-body
-                                              chi-macro
-                                              chi-call
-                                              chi-expr
-                                              chi
-                                              syntax-type
-                                              chi-when-list
-                                              chi-install-global
-                                              chi-top-sequence
-                                              chi-sequence
-                                              source-wrap
-                                              wrap
-                                              bound-id-member?
-                                              distinct-bound-ids?
-                                              valid-bound-ids?
-                                              bound-id=?
-                                              free-id=?
-                                              id-var-name
-                                              same-marks?
-                                              join-marks
-                                              join-wraps
-                                              smart-append
-                                              make-binding-wrap
-                                              extend-ribcage!
-                                              make-empty-ribcage
-                                              new-mark
-                                              anti-mark
-                                              the-anti-mark
-                                              top-marked?
-                                              top-wrap
-                                              empty-wrap
-                                              set-ribcage-labels!
-                                              set-ribcage-marks!
-                                              set-ribcage-symnames!
-                                              ribcage-labels
-                                              ribcage-marks
-                                              ribcage-symnames
-                                              ribcage?
-                                              make-ribcage
-                                              gen-labels
-                                              gen-label
-                                              make-rename
-                                              rename-marks
-                                              rename-new
-                                              rename-old
-                                              subst-rename?
-                                              wrap-subst
-                                              wrap-marks
-                                              make-wrap
-                                              id-sym-name&marks
-                                              id-sym-name
-                                              id?
-                                              nonsymbol-id?
-                                              global-extend
-                                              lookup
-                                              macros-only-env
-                                              extend-var-env
-                                              extend-env
-                                              null-env
-                                              binding-value
-                                              binding-type
-                                              make-binding
-                                              arg-check
-                                              source-annotation
-                                              no-source
-                                              set-syntax-object-module!
-                                              set-syntax-object-wrap!
-                                              set-syntax-object-expression!
-                                              syntax-object-module
-                                              syntax-object-wrap
-                                              syntax-object-expression
-                                              syntax-object?
-                                              make-syntax-object
-                                              build-lexical-var
-                                              build-letrec
-                                              build-named-let
-                                              build-let
-                                              build-sequence
-                                              build-data
-                                              build-primref
-                                              build-primcall
-                                              build-lambda-case
-                                              build-case-lambda
-                                              build-simple-lambda
-                                              build-global-definition
-                                              build-global-assignment
-                                              build-global-reference
-                                              analyze-variable
-                                              build-lexical-assignment
-                                              build-lexical-reference
-                                              build-dynlet
-                                              build-conditional
-                                              build-call
-                                              build-void
-                                              maybe-name-value!
-                                              decorate-source
-                                              get-global-definition-hook
-                                              put-global-definition-hook
-                                              gensym-hook
-                                              local-eval-hook
-                                              top-level-eval-hook
-                                              fx<
-                                              fx=
-                                              fx-
-                                              fx+
-                                              set-lambda-meta!
-                                              lambda-meta
-                                              lambda?
-                                              make-dynlet
-                                              make-letrec
-                                              make-let
-                                              make-lambda-case
-                                              make-lambda
-                                              make-seq
-                                              make-primcall
-                                              make-call
-                                              make-conditional
-                                              make-toplevel-define
-                                              make-toplevel-set
-                                              make-toplevel-ref
-                                              make-module-set
-                                              make-module-ref
-                                              make-lexical-set
-                                              make-lexical-ref
-                                              make-primitive-ref
-                                              make-const
-                                              make-void)
-                                            ((top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top))
-                                            ("i452"
-                                             "i450"
-                                             "i448"
-                                             "i446"
-                                             "i444"
-                                             "i442"
-                                             "i440"
-                                             "i438"
-                                             "i436"
-                                             "i434"
-                                             "i432"
-                                             "i430"
-                                             "i428"
-                                             "i426"
-                                             "i424"
-                                             "i422"
-                                             "i420"
-                                             "i418"
-                                             "i416"
-                                             "i414"
-                                             "i412"
-                                             "i410"
-                                             "i408"
-                                             "i406"
-                                             "i404"
-                                             "i402"
-                                             "i400"
-                                             "i398"
-                                             "i396"
-                                             "i394"
-                                             "i392"
-                                             "i390"
-                                             "i388"
-                                             "i386"
-                                             "i384"
-                                             "i383"
-                                             "i382"
-                                             "i380"
-                                             "i379"
-                                             "i378"
-                                             "i377"
-                                             "i376"
-                                             "i374"
-                                             "i372"
-                                             "i370"
-                                             "i368"
-                                             "i366"
-                                             "i364"
-                                             "i362"
-                                             "i360"
-                                             "i357"
-                                             "i355"
-                                             "i354"
-                                             "i353"
-                                             "i352"
-                                             "i351"
-                                             "i350"
-                                             "i349"
-                                             "i348"
-                                             "i347"
-                                             "i345"
-                                             "i344"
-                                             "i342"
-                                             "i340"
-                                             "i338"
-                                             "i336"
-                                             "i334"
-                                             "i332"
-                                             "i330"
-                                             "i329"
-                                             "i328"
-                                             "i327"
-                                             "i326"
-                                             "i325"
-                                             "i323"
-                                             "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"
-                                             "i272"
-                                             "i270"
-                                             "i268"
-                                             "i266"
-                                             "i264"
-                                             "i262"
-                                             "i260"
-                                             "i258"
-                                             "i256"
-                                             "i255"
-                                             "i253"
-                                             "i251"
-                                             "i250"
-                                             "i249"
-                                             "i248"
-                                             "i247"
-                                             "i245"
-                                             "i243"
-                                             "i241"
-                                             "i238"
-                                             "i236"
-                                             "i234"
-                                             "i232"
-                                             "i230"
-                                             "i228"
-                                             "i226"
-                                             "i224"
-                                             "i222"
-                                             "i220"
-                                             "i218"
-                                             "i216"
-                                             "i214"
-                                             "i212"
-                                             "i210"
-                                             "i208"
-                                             "i206"
-                                             "i204"
-                                             "i202"))
-                                          #(ribcage
-                                            (define-structure
-                                              define-expansion-accessors
-                                              define-expansion-constructors)
-                                            ((top) (top) (top))
-                                            ("i40" "i39" "i38")))
-                                         (hygiene guile))
-                                      #{head 3556}#)
-                                #{r 3513}#
-                                #{w 3514}#
-                                #{mod 3516}#)
-                              (map (lambda (#{e 3594}#)
-                                     (#{chi 423}#
-                                       #{e 3594}#
-                                       #{r 3513}#
-                                       #{w 3514}#
-                                       #{mod 3516}#))
-                                   (append
-                                     #{tail 3557}#
-                                     (list #{val 3558}#))))))))
-                    #{tmp 3552}#)
-                  (let ((#{_ 3598}# #{tmp 3522}#))
-                    (syntax-violation
-                      'set!
-                      "bad set!"
-                      (#{source-wrap 411}#
-                        #{e 3512}#
-                        #{w 3514}#
-                        #{s 3515}#
-                        #{mod 3516}#))))))))))
-    (#{global-extend 339}#
-      'module-ref
-      '@
-      (lambda (#{e 3599}# #{r 3600}# #{w 3601}#)
-        (let ((#{tmp 3605}# #{e 3599}#))
-          (let ((#{tmp 3606}#
-                  ($sc-dispatch #{tmp 3605}# '(_ each-any any))))
-            (if (if #{tmp 3606}#
-                  (@apply
-                    (lambda (#{mod 3609}# #{id 3610}#)
-                      (if (and-map #{id? 343}# #{mod 3609}#)
-                        (#{id? 343}# #{id 3610}#)
-                        #f))
-                    #{tmp 3606}#)
-                  #f)
-              (@apply
-                (lambda (#{mod 3616}# #{id 3617}#)
-                  (values
-                    (syntax->datum #{id 3617}#)
-                    #{r 3600}#
-                    #{w 3601}#
-                    #f
-                    (syntax->datum
-                      (cons '#(syntax-object
-                               public
-                               ((top)
-                                #(ribcage
-                                  #(mod id)
-                                  #((top) (top))
-                                  #("i3614" "i3615"))
-                                #(ribcage () () ())
-                                #(ribcage
-                                  #(e r w)
-                                  #((top) (top) (top))
-                                  #("i3602" "i3603" "i3604"))
-                                #(ribcage
-                                  (lambda-var-list
-                                    gen-var
-                                    strip
-                                    chi-lambda-case
-                                    lambda*-formals
-                                    chi-simple-lambda
-                                    lambda-formals
-                                    ellipsis?
-                                    chi-void
-                                    eval-local-transformer
-                                    chi-local-syntax
-                                    chi-body
-                                    chi-macro
-                                    chi-call
-                                    chi-expr
-                                    chi
-                                    syntax-type
-                                    chi-when-list
-                                    chi-install-global
-                                    chi-top-sequence
-                                    chi-sequence
-                                    source-wrap
-                                    wrap
-                                    bound-id-member?
-                                    distinct-bound-ids?
-                                    valid-bound-ids?
-                                    bound-id=?
-                                    free-id=?
-                                    id-var-name
-                                    same-marks?
-                                    join-marks
-                                    join-wraps
-                                    smart-append
-                                    make-binding-wrap
-                                    extend-ribcage!
-                                    make-empty-ribcage
-                                    new-mark
-                                    anti-mark
-                                    the-anti-mark
-                                    top-marked?
-                                    top-wrap
-                                    empty-wrap
-                                    set-ribcage-labels!
-                                    set-ribcage-marks!
-                                    set-ribcage-symnames!
-                                    ribcage-labels
-                                    ribcage-marks
-                                    ribcage-symnames
-                                    ribcage?
-                                    make-ribcage
-                                    gen-labels
-                                    gen-label
-                                    make-rename
-                                    rename-marks
-                                    rename-new
-                                    rename-old
-                                    subst-rename?
-                                    wrap-subst
-                                    wrap-marks
-                                    make-wrap
-                                    id-sym-name&marks
-                                    id-sym-name
-                                    id?
-                                    nonsymbol-id?
-                                    global-extend
-                                    lookup
-                                    macros-only-env
-                                    extend-var-env
-                                    extend-env
-                                    null-env
-                                    binding-value
-                                    binding-type
-                                    make-binding
-                                    arg-check
-                                    source-annotation
-                                    no-source
-                                    set-syntax-object-module!
-                                    set-syntax-object-wrap!
-                                    set-syntax-object-expression!
-                                    syntax-object-module
-                                    syntax-object-wrap
-                                    syntax-object-expression
-                                    syntax-object?
-                                    make-syntax-object
-                                    build-lexical-var
-                                    build-letrec
-                                    build-named-let
-                                    build-let
-                                    build-sequence
-                                    build-data
-                                    build-primref
-                                    build-primcall
-                                    build-lambda-case
-                                    build-case-lambda
-                                    build-simple-lambda
-                                    build-global-definition
-                                    build-global-assignment
-                                    build-global-reference
-                                    analyze-variable
-                                    build-lexical-assignment
-                                    build-lexical-reference
-                                    build-dynlet
-                                    build-conditional
-                                    build-call
-                                    build-void
-                                    maybe-name-value!
-                                    decorate-source
-                                    get-global-definition-hook
-                                    put-global-definition-hook
-                                    gensym-hook
-                                    local-eval-hook
-                                    top-level-eval-hook
-                                    fx<
-                                    fx=
-                                    fx-
-                                    fx+
-                                    set-lambda-meta!
-                                    lambda-meta
-                                    lambda?
-                                    make-dynlet
-                                    make-letrec
-                                    make-let
-                                    make-lambda-case
-                                    make-lambda
-                                    make-seq
-                                    make-primcall
-                                    make-call
-                                    make-conditional
-                                    make-toplevel-define
-                                    make-toplevel-set
-                                    make-toplevel-ref
-                                    make-module-set
-                                    make-module-ref
-                                    make-lexical-set
-                                    make-lexical-ref
-                                    make-primitive-ref
-                                    make-const
-                                    make-void)
-                                  ((top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top)
-                                   (top))
-                                  ("i452"
-                                   "i450"
-                                   "i448"
-                                   "i446"
-                                   "i444"
-                                   "i442"
-                                   "i440"
-                                   "i438"
-                                   "i436"
-                                   "i434"
-                                   "i432"
-                                   "i430"
-                                   "i428"
-                                   "i426"
-                                   "i424"
-                                   "i422"
-                                   "i420"
-                                   "i418"
-                                   "i416"
-                                   "i414"
-                                   "i412"
-                                   "i410"
-                                   "i408"
-                                   "i406"
-                                   "i404"
-                                   "i402"
-                                   "i400"
-                                   "i398"
-                                   "i396"
-                                   "i394"
-                                   "i392"
-                                   "i390"
-                                   "i388"
-                                   "i386"
-                                   "i384"
-                                   "i383"
-                                   "i382"
-                                   "i380"
-                                   "i379"
-                                   "i378"
-                                   "i377"
-                                   "i376"
-                                   "i374"
-                                   "i372"
-                                   "i370"
-                                   "i368"
-                                   "i366"
-                                   "i364"
-                                   "i362"
-                                   "i360"
-                                   "i357"
-                                   "i355"
-                                   "i354"
-                                   "i353"
-                                   "i352"
-                                   "i351"
-                                   "i350"
-                                   "i349"
-                                   "i348"
-                                   "i347"
-                                   "i345"
-                                   "i344"
-                                   "i342"
-                                   "i340"
-                                   "i338"
-                                   "i336"
-                                   "i334"
-                                   "i332"
-                                   "i330"
-                                   "i329"
-                                   "i328"
-                                   "i327"
-                                   "i326"
-                                   "i325"
-                                   "i323"
-                                   "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"
-                                   "i272"
-                                   "i270"
-                                   "i268"
-                                   "i266"
-                                   "i264"
-                                   "i262"
-                                   "i260"
-                                   "i258"
-                                   "i256"
-                                   "i255"
-                                   "i253"
-                                   "i251"
-                                   "i250"
-                                   "i249"
-                                   "i248"
-                                   "i247"
-                                   "i245"
-                                   "i243"
-                                   "i241"
-                                   "i238"
-                                   "i236"
-                                   "i234"
-                                   "i232"
-                                   "i230"
-                                   "i228"
-                                   "i226"
-                                   "i224"
-                                   "i222"
-                                   "i220"
-                                   "i218"
-                                   "i216"
-                                   "i214"
-                                   "i212"
-                                   "i210"
-                                   "i208"
-                                   "i206"
-                                   "i204"
-                                   "i202"))
-                                #(ribcage
-                                  (define-structure
-                                    define-expansion-accessors
-                                    define-expansion-constructors)
-                                  ((top) (top) (top))
-                                  ("i40" "i39" "i38")))
-                               (hygiene guile))
-                            #{mod 3616}#))))
-                #{tmp 3606}#)
-              (syntax-violation
-                #f
-                "source expression failed to match any pattern"
-                #{tmp 3605}#))))))
-    (#{global-extend 339}#
-      'module-ref
-      '@@
-      (lambda (#{e 3619}# #{r 3620}# #{w 3621}#)
-        (letrec*
-          ((#{remodulate 3626}#
-             (lambda (#{x 3627}# #{mod 3628}#)
-               (if (pair? #{x 3627}#)
-                 (cons (#{remodulate 3626}#
-                         (car #{x 3627}#)
-                         #{mod 3628}#)
-                       (#{remodulate 3626}#
-                         (cdr #{x 3627}#)
-                         #{mod 3628}#))
-                 (if (#{syntax-object? 309}# #{x 3627}#)
-                   (#{make-syntax-object 307}#
-                     (#{remodulate 3626}#
-                       (#{syntax-object-expression 311}# #{x 3627}#)
-                       #{mod 3628}#)
-                     (#{syntax-object-wrap 313}# #{x 3627}#)
-                     #{mod 3628}#)
-                   (if (vector? #{x 3627}#)
-                     (let ((#{n 3639}# (vector-length #{x 3627}#)))
-                       (let ((#{v 3641}# (make-vector #{n 3639}#)))
-                         (letrec*
-                           ((#{loop 3644}#
-                              (lambda (#{i 3645}#)
-                                (if (= #{i 3645}# #{n 3639}#)
-                                  (begin (if #f #f) #{v 3641}#)
-                                  (begin
-                                    (vector-set!
-                                      #{v 3641}#
-                                      #{i 3645}#
-                                      (#{remodulate 3626}#
-                                        (vector-ref #{x 3627}# #{i 3645}#)
-                                        #{mod 3628}#))
-                                    (#{loop 3644}# (#{1+}# #{i 3645}#)))))))
-                           (#{loop 3644}# 0))))
-                     #{x 3627}#))))))
-          (let ((#{tmp 3651}# #{e 3619}#))
-            (let ((#{tmp 3652}#
-                    ($sc-dispatch #{tmp 3651}# '(_ each-any any))))
-              (if (if #{tmp 3652}#
-                    (@apply
-                      (lambda (#{mod 3655}# #{exp 3656}#)
-                        (and-map #{id? 343}# #{mod 3655}#))
-                      #{tmp 3652}#)
-                    #f)
-                (@apply
-                  (lambda (#{mod 3660}# #{exp 3661}#)
-                    (let ((#{mod 3663}#
-                            (syntax->datum
-                              (cons '#(syntax-object
-                                       private
-                                       ((top)
-                                        #(ribcage
-                                          #(mod exp)
-                                          #((top) (top))
-                                          #("i3658" "i3659"))
-                                        #(ribcage
-                                          (remodulate)
-                                          ((top))
-                                          ("i3625"))
-                                        #(ribcage
-                                          #(e r w)
-                                          #((top) (top) (top))
-                                          #("i3622" "i3623" "i3624"))
-                                        #(ribcage
-                                          (lambda-var-list
-                                            gen-var
-                                            strip
-                                            chi-lambda-case
-                                            lambda*-formals
-                                            chi-simple-lambda
-                                            lambda-formals
-                                            ellipsis?
-                                            chi-void
-                                            eval-local-transformer
-                                            chi-local-syntax
-                                            chi-body
-                                            chi-macro
-                                            chi-call
-                                            chi-expr
-                                            chi
-                                            syntax-type
-                                            chi-when-list
-                                            chi-install-global
-                                            chi-top-sequence
-                                            chi-sequence
-                                            source-wrap
-                                            wrap
-                                            bound-id-member?
-                                            distinct-bound-ids?
-                                            valid-bound-ids?
-                                            bound-id=?
-                                            free-id=?
-                                            id-var-name
-                                            same-marks?
-                                            join-marks
-                                            join-wraps
-                                            smart-append
-                                            make-binding-wrap
-                                            extend-ribcage!
-                                            make-empty-ribcage
-                                            new-mark
-                                            anti-mark
-                                            the-anti-mark
-                                            top-marked?
-                                            top-wrap
-                                            empty-wrap
-                                            set-ribcage-labels!
-                                            set-ribcage-marks!
-                                            set-ribcage-symnames!
-                                            ribcage-labels
-                                            ribcage-marks
-                                            ribcage-symnames
-                                            ribcage?
-                                            make-ribcage
-                                            gen-labels
-                                            gen-label
-                                            make-rename
-                                            rename-marks
-                                            rename-new
-                                            rename-old
-                                            subst-rename?
-                                            wrap-subst
-                                            wrap-marks
-                                            make-wrap
-                                            id-sym-name&marks
-                                            id-sym-name
-                                            id?
-                                            nonsymbol-id?
-                                            global-extend
-                                            lookup
-                                            macros-only-env
-                                            extend-var-env
-                                            extend-env
-                                            null-env
-                                            binding-value
-                                            binding-type
-                                            make-binding
-                                            arg-check
-                                            source-annotation
-                                            no-source
-                                            set-syntax-object-module!
-                                            set-syntax-object-wrap!
-                                            set-syntax-object-expression!
-                                            syntax-object-module
-                                            syntax-object-wrap
-                                            syntax-object-expression
-                                            syntax-object?
-                                            make-syntax-object
-                                            build-lexical-var
-                                            build-letrec
-                                            build-named-let
-                                            build-let
-                                            build-sequence
-                                            build-data
-                                            build-primref
-                                            build-primcall
-                                            build-lambda-case
-                                            build-case-lambda
-                                            build-simple-lambda
-                                            build-global-definition
-                                            build-global-assignment
-                                            build-global-reference
-                                            analyze-variable
-                                            build-lexical-assignment
-                                            build-lexical-reference
-                                            build-dynlet
-                                            build-conditional
-                                            build-call
-                                            build-void
-                                            maybe-name-value!
-                                            decorate-source
-                                            get-global-definition-hook
-                                            put-global-definition-hook
-                                            gensym-hook
-                                            local-eval-hook
-                                            top-level-eval-hook
-                                            fx<
-                                            fx=
-                                            fx-
-                                            fx+
-                                            set-lambda-meta!
-                                            lambda-meta
-                                            lambda?
-                                            make-dynlet
-                                            make-letrec
-                                            make-let
-                                            make-lambda-case
-                                            make-lambda
-                                            make-seq
-                                            make-primcall
-                                            make-call
-                                            make-conditional
-                                            make-toplevel-define
-                                            make-toplevel-set
-                                            make-toplevel-ref
-                                            make-module-set
-                                            make-module-ref
-                                            make-lexical-set
-                                            make-lexical-ref
-                                            make-primitive-ref
-                                            make-const
-                                            make-void)
-                                          ((top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top))
-                                          ("i452"
-                                           "i450"
-                                           "i448"
-                                           "i446"
-                                           "i444"
-                                           "i442"
-                                           "i440"
-                                           "i438"
-                                           "i436"
-                                           "i434"
-                                           "i432"
-                                           "i430"
-                                           "i428"
-                                           "i426"
-                                           "i424"
-                                           "i422"
-                                           "i420"
-                                           "i418"
-                                           "i416"
-                                           "i414"
-                                           "i412"
-                                           "i410"
-                                           "i408"
-                                           "i406"
-                                           "i404"
-                                           "i402"
-                                           "i400"
-                                           "i398"
-                                           "i396"
-                                           "i394"
-                                           "i392"
-                                           "i390"
-                                           "i388"
-                                           "i386"
-                                           "i384"
-                                           "i383"
-                                           "i382"
-                                           "i380"
-                                           "i379"
-                                           "i378"
-                                           "i377"
-                                           "i376"
-                                           "i374"
-                                           "i372"
-                                           "i370"
-                                           "i368"
-                                           "i366"
-                                           "i364"
-                                           "i362"
-                                           "i360"
-                                           "i357"
-                                           "i355"
-                                           "i354"
-                                           "i353"
-                                           "i352"
-                                           "i351"
-                                           "i350"
-                                           "i349"
-                                           "i348"
-                                           "i347"
-                                           "i345"
-                                           "i344"
-                                           "i342"
-                                           "i340"
-                                           "i338"
-                                           "i336"
-                                           "i334"
-                                           "i332"
-                                           "i330"
-                                           "i329"
-                                           "i328"
-                                           "i327"
-                                           "i326"
-                                           "i325"
-                                           "i323"
-                                           "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"
-                                           "i272"
-                                           "i270"
-                                           "i268"
-                                           "i266"
-                                           "i264"
-                                           "i262"
-                                           "i260"
-                                           "i258"
-                                           "i256"
-                                           "i255"
-                                           "i253"
-                                           "i251"
-                                           "i250"
-                                           "i249"
-                                           "i248"
-                                           "i247"
-                                           "i245"
-                                           "i243"
-                                           "i241"
-                                           "i238"
-                                           "i236"
-                                           "i234"
-                                           "i232"
-                                           "i230"
-                                           "i228"
-                                           "i226"
-                                           "i224"
-                                           "i222"
-                                           "i220"
-                                           "i218"
-                                           "i216"
-                                           "i214"
-                                           "i212"
-                                           "i210"
-                                           "i208"
-                                           "i206"
-                                           "i204"
-                                           "i202"))
-                                        #(ribcage
-                                          (define-structure
-                                            define-expansion-accessors
-                                            define-expansion-constructors)
-                                          ((top) (top) (top))
-                                          ("i40" "i39" "i38")))
-                                       (hygiene guile))
-                                    #{mod 3660}#))))
-                      (values
-                        (#{remodulate 3626}# #{exp 3661}# #{mod 3663}#)
-                        #{r 3620}#
-                        #{w 3621}#
-                        (#{source-annotation 324}# #{exp 3661}#)
-                        #{mod 3663}#)))
-                  #{tmp 3652}#)
-                (syntax-violation
-                  #f
-                  "source expression failed to match any pattern"
-                  #{tmp 3651}#)))))))
-    (#{global-extend 339}#
-      'core
-      'if
-      (lambda (#{e 3665}#
-               #{r 3666}#
-               #{w 3667}#
-               #{s 3668}#
-               #{mod 3669}#)
-        (let ((#{tmp 3675}# #{e 3665}#))
-          (let ((#{tmp 3676}#
-                  ($sc-dispatch #{tmp 3675}# '(_ any any))))
-            (if #{tmp 3676}#
-              (@apply
-                (lambda (#{test 3679}# #{then 3680}#)
-                  (#{build-conditional 269}#
-                    #{s 3668}#
-                    (#{chi 423}#
-                      #{test 3679}#
-                      #{r 3666}#
-                      #{w 3667}#
-                      #{mod 3669}#)
-                    (#{chi 423}#
-                      #{then 3680}#
-                      #{r 3666}#
-                      #{w 3667}#
-                      #{mod 3669}#)
-                    (#{build-void 265}# #f)))
-                #{tmp 3676}#)
-              (let ((#{tmp 3682}#
-                      ($sc-dispatch #{tmp 3675}# '(_ any any any))))
-                (if #{tmp 3682}#
-                  (@apply
-                    (lambda (#{test 3686}# #{then 3687}# #{else 3688}#)
-                      (#{build-conditional 269}#
-                        #{s 3668}#
-                        (#{chi 423}#
-                          #{test 3686}#
-                          #{r 3666}#
-                          #{w 3667}#
-                          #{mod 3669}#)
-                        (#{chi 423}#
-                          #{then 3687}#
-                          #{r 3666}#
-                          #{w 3667}#
-                          #{mod 3669}#)
-                        (#{chi 423}#
-                          #{else 3688}#
-                          #{r 3666}#
-                          #{w 3667}#
-                          #{mod 3669}#)))
-                    #{tmp 3682}#)
-                  (syntax-violation
-                    #f
-                    "source expression failed to match any pattern"
-                    #{tmp 3675}#))))))))
-    (#{global-extend 339}#
-      'core
-      'with-fluids
-      (lambda (#{e 3689}#
-               #{r 3690}#
-               #{w 3691}#
-               #{s 3692}#
-               #{mod 3693}#)
-        (let ((#{tmp 3699}# #{e 3689}#))
-          (let ((#{tmp 3700}#
-                  ($sc-dispatch
-                    #{tmp 3699}#
-                    '(_ #(each (any any)) any . each-any))))
-            (if #{tmp 3700}#
-              (@apply
-                (lambda (#{fluid 3705}#
-                         #{val 3706}#
-                         #{b 3707}#
-                         #{b* 3708}#)
-                  (#{build-dynlet 271}#
-                    #{s 3692}#
-                    (map (lambda (#{x 3709}#)
-                           (#{chi 423}#
-                             #{x 3709}#
-                             #{r 3690}#
-                             #{w 3691}#
-                             #{mod 3693}#))
-                         #{fluid 3705}#)
-                    (map (lambda (#{x 3712}#)
-                           (#{chi 423}#
-                             #{x 3712}#
-                             #{r 3690}#
-                             #{w 3691}#
-                             #{mod 3693}#))
-                         #{val 3706}#)
-                    (#{chi-body 431}#
-                      (cons #{b 3707}# #{b* 3708}#)
-                      (#{source-wrap 411}#
-                        #{e 3689}#
-                        #{w 3691}#
-                        #{s 3692}#
-                        #{mod 3693}#)
-                      #{r 3690}#
-                      #{w 3691}#
-                      #{mod 3693}#)))
-                #{tmp 3700}#)
-              (syntax-violation
-                #f
-                "source expression failed to match any pattern"
-                #{tmp 3699}#))))))
-    (#{global-extend 339}# 'begin 'begin '())
-    (#{global-extend 339}# 'define 'define '())
-    (#{global-extend 339}#
-      'define-syntax
-      'define-syntax
-      '())
-    (#{global-extend 339}# 'eval-when 'eval-when '())
-    (#{global-extend 339}#
-      'core
-      'syntax-case
-      (letrec*
-        ((#{convert-pattern 3717}#
-           (lambda (#{pattern 3724}# #{keys 3725}#)
-             (letrec*
-               ((#{cvt* 3729}#
-                  (lambda (#{p* 3734}# #{n 3735}# #{ids 3736}#)
-                    (if (not (pair? #{p* 3734}#))
-                      (#{cvt 3733}#
-                        #{p* 3734}#
-                        #{n 3735}#
-                        #{ids 3736}#)
-                      (call-with-values
-                        (lambda ()
-                          (#{cvt* 3729}#
-                            (cdr #{p* 3734}#)
-                            #{n 3735}#
-                            #{ids 3736}#))
-                        (lambda (#{y 3740}# #{ids 3741}#)
-                          (call-with-values
-                            (lambda ()
-                              (#{cvt 3733}#
-                                (car #{p* 3734}#)
-                                #{n 3735}#
-                                #{ids 3741}#))
-                            (lambda (#{x 3744}# #{ids 3745}#)
-                              (values
-                                (cons #{x 3744}# #{y 3740}#)
-                                #{ids 3745}#))))))))
-                (#{v-reverse 3731}#
-                  (lambda (#{x 3748}#)
-                    (letrec*
-                      ((#{loop 3753}#
-                         (lambda (#{r 3754}# #{x 3755}#)
-                           (if (not (pair? #{x 3755}#))
-                             (values #{r 3754}# #{x 3755}#)
-                             (#{loop 3753}#
-                               (cons (car #{x 3755}#) #{r 3754}#)
-                               (cdr #{x 3755}#))))))
-                      (#{loop 3753}# '() #{x 3748}#))))
-                (#{cvt 3733}#
-                  (lambda (#{p 3756}# #{n 3757}# #{ids 3758}#)
-                    (if (#{id? 343}# #{p 3756}#)
-                      (if (#{bound-id-member? 407}#
-                            #{p 3756}#
-                            #{keys 3725}#)
-                        (values
-                          (vector 'free-id #{p 3756}#)
-                          #{ids 3758}#)
-                        (if (#{free-id=? 399}#
-                              #{p 3756}#
-                              '#(syntax-object
-                                 _
-                                 ((top)
-                                  #(ribcage () () ())
-                                  #(ribcage
-                                    #(p n ids)
-                                    #((top) (top) (top))
-                                    #("i3759" "i3760" "i3761"))
-                                  #(ribcage
-                                    (cvt v-reverse cvt*)
-                                    ((top) (top) (top))
-                                    ("i3732" "i3730" "i3728"))
-                                  #(ribcage
-                                    #(pattern keys)
-                                    #((top) (top))
-                                    #("i3726" "i3727"))
-                                  #(ribcage
-                                    (gen-syntax-case
-                                      gen-clause
-                                      build-dispatch-call
-                                      convert-pattern)
-                                    ((top) (top) (top) (top))
-                                    ("i3722" "i3720" "i3718" "i3716"))
-                                  #(ribcage
-                                    (lambda-var-list
-                                      gen-var
-                                      strip
-                                      chi-lambda-case
-                                      lambda*-formals
-                                      chi-simple-lambda
-                                      lambda-formals
-                                      ellipsis?
-                                      chi-void
-                                      eval-local-transformer
-                                      chi-local-syntax
-                                      chi-body
-                                      chi-macro
-                                      chi-call
-                                      chi-expr
-                                      chi
-                                      syntax-type
-                                      chi-when-list
-                                      chi-install-global
-                                      chi-top-sequence
-                                      chi-sequence
-                                      source-wrap
-                                      wrap
-                                      bound-id-member?
-                                      distinct-bound-ids?
-                                      valid-bound-ids?
-                                      bound-id=?
-                                      free-id=?
-                                      id-var-name
-                                      same-marks?
-                                      join-marks
-                                      join-wraps
-                                      smart-append
-                                      make-binding-wrap
-                                      extend-ribcage!
-                                      make-empty-ribcage
-                                      new-mark
-                                      anti-mark
-                                      the-anti-mark
-                                      top-marked?
-                                      top-wrap
-                                      empty-wrap
-                                      set-ribcage-labels!
-                                      set-ribcage-marks!
-                                      set-ribcage-symnames!
-                                      ribcage-labels
-                                      ribcage-marks
-                                      ribcage-symnames
-                                      ribcage?
-                                      make-ribcage
-                                      gen-labels
-                                      gen-label
-                                      make-rename
-                                      rename-marks
-                                      rename-new
-                                      rename-old
-                                      subst-rename?
-                                      wrap-subst
-                                      wrap-marks
-                                      make-wrap
-                                      id-sym-name&marks
-                                      id-sym-name
-                                      id?
-                                      nonsymbol-id?
-                                      global-extend
-                                      lookup
-                                      macros-only-env
-                                      extend-var-env
-                                      extend-env
-                                      null-env
-                                      binding-value
-                                      binding-type
-                                      make-binding
-                                      arg-check
-                                      source-annotation
-                                      no-source
-                                      set-syntax-object-module!
-                                      set-syntax-object-wrap!
-                                      set-syntax-object-expression!
-                                      syntax-object-module
-                                      syntax-object-wrap
-                                      syntax-object-expression
-                                      syntax-object?
-                                      make-syntax-object
-                                      build-lexical-var
-                                      build-letrec
-                                      build-named-let
-                                      build-let
-                                      build-sequence
-                                      build-data
-                                      build-primref
-                                      build-primcall
-                                      build-lambda-case
-                                      build-case-lambda
-                                      build-simple-lambda
-                                      build-global-definition
-                                      build-global-assignment
-                                      build-global-reference
-                                      analyze-variable
-                                      build-lexical-assignment
-                                      build-lexical-reference
-                                      build-dynlet
-                                      build-conditional
-                                      build-call
-                                      build-void
-                                      maybe-name-value!
-                                      decorate-source
-                                      get-global-definition-hook
-                                      put-global-definition-hook
-                                      gensym-hook
-                                      local-eval-hook
-                                      top-level-eval-hook
-                                      fx<
-                                      fx=
-                                      fx-
-                                      fx+
-                                      set-lambda-meta!
-                                      lambda-meta
-                                      lambda?
-                                      make-dynlet
-                                      make-letrec
-                                      make-let
-                                      make-lambda-case
-                                      make-lambda
-                                      make-seq
-                                      make-primcall
-                                      make-call
-                                      make-conditional
-                                      make-toplevel-define
-                                      make-toplevel-set
-                                      make-toplevel-ref
-                                      make-module-set
-                                      make-module-ref
-                                      make-lexical-set
-                                      make-lexical-ref
-                                      make-primitive-ref
-                                      make-const
-                                      make-void)
-                                    ((top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top))
-                                    ("i452"
-                                     "i450"
-                                     "i448"
-                                     "i446"
-                                     "i444"
-                                     "i442"
-                                     "i440"
-                                     "i438"
-                                     "i436"
-                                     "i434"
-                                     "i432"
-                                     "i430"
-                                     "i428"
-                                     "i426"
-                                     "i424"
-                                     "i422"
-                                     "i420"
-                                     "i418"
-                                     "i416"
-                                     "i414"
-                                     "i412"
-                                     "i410"
-                                     "i408"
-                                     "i406"
-                                     "i404"
-                                     "i402"
-                                     "i400"
-                                     "i398"
-                                     "i396"
-                                     "i394"
-                                     "i392"
-                                     "i390"
-                                     "i388"
-                                     "i386"
-                                     "i384"
-                                     "i383"
-                                     "i382"
-                                     "i380"
-                                     "i379"
-                                     "i378"
-                                     "i377"
-                                     "i376"
-                                     "i374"
-                                     "i372"
-                                     "i370"
-                                     "i368"
-                                     "i366"
-                                     "i364"
-                                     "i362"
-                                     "i360"
-                                     "i357"
-                                     "i355"
-                                     "i354"
-                                     "i353"
-                                     "i352"
-                                     "i351"
-                                     "i350"
-                                     "i349"
-                                     "i348"
-                                     "i347"
-                                     "i345"
-                                     "i344"
-                                     "i342"
-                                     "i340"
-                                     "i338"
-                                     "i336"
-                                     "i334"
-                                     "i332"
-                                     "i330"
-                                     "i329"
-                                     "i328"
-                                     "i327"
-                                     "i326"
-                                     "i325"
-                                     "i323"
-                                     "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"
-                                     "i272"
-                                     "i270"
-                                     "i268"
-                                     "i266"
-                                     "i264"
-                                     "i262"
-                                     "i260"
-                                     "i258"
-                                     "i256"
-                                     "i255"
-                                     "i253"
-                                     "i251"
-                                     "i250"
-                                     "i249"
-                                     "i248"
-                                     "i247"
-                                     "i245"
-                                     "i243"
-                                     "i241"
-                                     "i238"
-                                     "i236"
-                                     "i234"
-                                     "i232"
-                                     "i230"
-                                     "i228"
-                                     "i226"
-                                     "i224"
-                                     "i222"
-                                     "i220"
-                                     "i218"
-                                     "i216"
-                                     "i214"
-                                     "i212"
-                                     "i210"
-                                     "i208"
-                                     "i206"
-                                     "i204"
-                                     "i202"))
-                                  #(ribcage
-                                    (define-structure
-                                      define-expansion-accessors
-                                      define-expansion-constructors)
-                                    ((top) (top) (top))
-                                    ("i40" "i39" "i38")))
-                                 (hygiene guile)))
-                          (values '_ #{ids 3758}#)
-                          (values
-                            'any
-                            (cons (cons #{p 3756}# #{n 3757}#) #{ids 3758}#))))
-                      (let ((#{tmp 3767}# #{p 3756}#))
-                        (let ((#{tmp 3768}#
-                                ($sc-dispatch #{tmp 3767}# '(any any))))
-                          (if (if #{tmp 3768}#
-                                (@apply
-                                  (lambda (#{x 3771}# #{dots 3772}#)
-                                    (#{ellipsis? 439}# #{dots 3772}#))
-                                  #{tmp 3768}#)
-                                #f)
-                            (@apply
-                              (lambda (#{x 3775}# #{dots 3776}#)
-                                (call-with-values
-                                  (lambda ()
-                                    (#{cvt 3733}#
-                                      #{x 3775}#
-                                      (#{1+}# #{n 3757}#)
-                                      #{ids 3758}#))
-                                  (lambda (#{p 3778}# #{ids 3779}#)
-                                    (values
-                                      (if (eq? #{p 3778}# 'any)
-                                        'each-any
-                                        (vector 'each #{p 3778}#))
-                                      #{ids 3779}#))))
-                              #{tmp 3768}#)
-                            (let ((#{tmp 3782}#
-                                    ($sc-dispatch
-                                      #{tmp 3767}#
-                                      '(any any . any))))
-                              (if (if #{tmp 3782}#
-                                    (@apply
-                                      (lambda (#{x 3786}#
-                                               #{dots 3787}#
-                                               #{ys 3788}#)
-                                        (#{ellipsis? 439}# #{dots 3787}#))
-                                      #{tmp 3782}#)
-                                    #f)
-                                (@apply
-                                  (lambda (#{x 3792}#
-                                           #{dots 3793}#
-                                           #{ys 3794}#)
-                                    (call-with-values
-                                      (lambda ()
-                                        (#{cvt* 3729}#
-                                          #{ys 3794}#
-                                          #{n 3757}#
-                                          #{ids 3758}#))
-                                      (lambda (#{ys 3795}# #{ids 3796}#)
-                                        (call-with-values
-                                          (lambda ()
-                                            (#{cvt 3733}#
-                                              #{x 3792}#
-                                              (#{1+}# #{n 3757}#)
-                                              #{ids 3796}#))
-                                          (lambda (#{x 3799}# #{ids 3800}#)
-                                            (call-with-values
-                                              (lambda ()
-                                                (#{v-reverse 3731}#
-                                                  #{ys 3795}#))
-                                              (lambda (#{ys 3803}# #{e 3804}#)
-                                                (values
-                                                  (vector
-                                                    'each+
-                                                    #{x 3799}#
-                                                    #{ys 3803}#
-                                                    #{e 3804}#)
-                                                  #{ids 3800}#))))))))
-                                  #{tmp 3782}#)
-                                (let ((#{tmp 3808}#
-                                        ($sc-dispatch
-                                          #{tmp 3767}#
-                                          '(any . any))))
-                                  (if #{tmp 3808}#
-                                    (@apply
-                                      (lambda (#{x 3811}# #{y 3812}#)
-                                        (call-with-values
-                                          (lambda ()
-                                            (#{cvt 3733}#
-                                              #{y 3812}#
-                                              #{n 3757}#
-                                              #{ids 3758}#))
-                                          (lambda (#{y 3813}# #{ids 3814}#)
-                                            (call-with-values
-                                              (lambda ()
-                                                (#{cvt 3733}#
-                                                  #{x 3811}#
-                                                  #{n 3757}#
-                                                  #{ids 3814}#))
-                                              (lambda (#{x 3817}# #{ids 3818}#)
-                                                (values
-                                                  (cons #{x 3817}# #{y 3813}#)
-                                                  #{ids 3818}#))))))
-                                      #{tmp 3808}#)
-                                    (let ((#{tmp 3821}#
-                                            ($sc-dispatch #{tmp 3767}# '())))
-                                      (if #{tmp 3821}#
-                                        (@apply
-                                          (lambda () (values '() #{ids 3758}#))
-                                          #{tmp 3821}#)
-                                        (let ((#{tmp 3822}#
-                                                ($sc-dispatch
-                                                  #{tmp 3767}#
-                                                  '#(vector each-any))))
-                                          (if #{tmp 3822}#
-                                            (@apply
-                                              (lambda (#{x 3824}#)
-                                                (call-with-values
-                                                  (lambda ()
-                                                    (#{cvt 3733}#
-                                                      #{x 3824}#
-                                                      #{n 3757}#
-                                                      #{ids 3758}#))
-                                                  (lambda (#{p 3826}#
-                                                           #{ids 3827}#)
-                                                    (values
-                                                      (vector
-                                                        'vector
-                                                        #{p 3826}#)
-                                                      #{ids 3827}#))))
-                                              #{tmp 3822}#)
-                                            (let ((#{x 3831}# #{tmp 3767}#))
-                                              (values
-                                                (vector
-                                                  'atom
-                                                  (#{strip 449}#
-                                                    #{p 3756}#
-                                                    '(())))
-                                                #{ids 3758}#)))))))))))))))))
-               (#{cvt 3733}# #{pattern 3724}# 0 '()))))
-         (#{build-dispatch-call 3719}#
-           (lambda (#{pvars 3833}#
-                    #{exp 3834}#
-                    #{y 3835}#
-                    #{r 3836}#
-                    #{mod 3837}#)
-             (begin
-               (map cdr #{pvars 3833}#)
-               (let ((#{ids 3845}# (map car #{pvars 3833}#)))
-                 (let ((#{labels 3849}#
-                         (#{gen-labels 358}# #{ids 3845}#))
-                       (#{new-vars 3850}#
-                         (map #{gen-var 451}# #{ids 3845}#)))
-                   (#{build-primcall 291}#
-                     #f
-                     'apply
-                     (list (#{build-simple-lambda 285}#
-                             #f
-                             (map syntax->datum #{ids 3845}#)
-                             #f
-                             #{new-vars 3850}#
-                             '()
-                             (#{chi 423}#
-                               #{exp 3834}#
-                               (#{extend-env 331}#
-                                 #{labels 3849}#
-                                 (map (lambda (#{var 3853}# #{level 3854}#)
-                                        (cons 'syntax
-                                              (cons #{var 3853}#
-                                                    #{level 3854}#)))
-                                      #{new-vars 3850}#
-                                      (map cdr #{pvars 3833}#))
-                                 #{r 3836}#)
-                               (#{make-binding-wrap 387}#
-                                 #{ids 3845}#
-                                 #{labels 3849}#
-                                 '(()))
-                               #{mod 3837}#))
-                           #{y 3835}#)))))))
-         (#{gen-clause 3721}#
-           (lambda (#{x 3860}#
-                    #{keys 3861}#
-                    #{clauses 3862}#
-                    #{r 3863}#
-                    #{pat 3864}#
-                    #{fender 3865}#
-                    #{exp 3866}#
-                    #{mod 3867}#)
-             (call-with-values
-               (lambda ()
-                 (#{convert-pattern 3717}#
-                   #{pat 3864}#
-                   #{keys 3861}#))
-               (lambda (#{p 3876}# #{pvars 3877}#)
-                 (if (not (#{distinct-bound-ids? 405}#
-                            (map car #{pvars 3877}#)))
-                   (syntax-violation
-                     'syntax-case
-                     "duplicate pattern variable"
-                     #{pat 3864}#)
-                   (if (not (and-map
-                              (lambda (#{x 3884}#)
-                                (not (#{ellipsis? 439}# (car #{x 3884}#))))
-                              #{pvars 3877}#))
-                     (syntax-violation
-                       'syntax-case
-                       "misplaced ellipsis"
-                       #{pat 3864}#)
-                     (let ((#{y 3888}# (#{gen-var 451}# 'tmp)))
-                       (#{build-call 267}#
-                         #f
-                         (#{build-simple-lambda 285}#
-                           #f
-                           (list 'tmp)
-                           #f
-                           (list #{y 3888}#)
-                           '()
-                           (let ((#{y 3892}#
-                                   (#{build-lexical-reference 273}#
-                                     'value
-                                     #f
-                                     'tmp
-                                     #{y 3888}#)))
-                             (#{build-conditional 269}#
-                               #f
-                               (let ((#{tmp 3895}# #{fender 3865}#))
-                                 (let ((#{tmp 3896}#
-                                         ($sc-dispatch
-                                           #{tmp 3895}#
-                                           '#(atom #t))))
-                                   (if #{tmp 3896}#
-                                     (@apply
-                                       (lambda () #{y 3892}#)
-                                       #{tmp 3896}#)
-                                     (let ((#{_ 3898}# #{tmp 3895}#))
-                                       (#{build-conditional 269}#
-                                         #f
-                                         #{y 3892}#
-                                         (#{build-dispatch-call 3719}#
-                                           #{pvars 3877}#
-                                           #{fender 3865}#
-                                           #{y 3892}#
-                                           #{r 3863}#
-                                           #{mod 3867}#)
-                                         (#{build-data 295}# #f #f))))))
-                               (#{build-dispatch-call 3719}#
-                                 #{pvars 3877}#
-                                 #{exp 3866}#
-                                 #{y 3892}#
-                                 #{r 3863}#
-                                 #{mod 3867}#)
-                               (#{gen-syntax-case 3723}#
-                                 #{x 3860}#
-                                 #{keys 3861}#
-                                 #{clauses 3862}#
-                                 #{r 3863}#
-                                 #{mod 3867}#))))
-                         (list (if (eq? #{p 3876}# 'any)
-                                 (#{build-primcall 291}#
-                                   #f
-                                   'list
-                                   (list #{x 3860}#))
-                                 (#{build-primcall 291}#
-                                   #f
-                                   '$sc-dispatch
-                                   (list #{x 3860}#
-                                         (#{build-data 295}#
-                                           #f
-                                           #{p 3876}#)))))))))))))
-         (#{gen-syntax-case 3723}#
-           (lambda (#{x 3904}#
-                    #{keys 3905}#
-                    #{clauses 3906}#
-                    #{r 3907}#
-                    #{mod 3908}#)
-             (if (null? #{clauses 3906}#)
-               (#{build-primcall 291}#
-                 #f
-                 'syntax-violation
-                 (list (#{build-data 295}# #f #f)
-                       (#{build-data 295}#
-                         #f
-                         "source expression failed to match any pattern")
-                       #{x 3904}#))
-               (let ((#{tmp 3917}# (car #{clauses 3906}#)))
-                 (let ((#{tmp 3918}#
-                         ($sc-dispatch #{tmp 3917}# '(any any))))
-                   (if #{tmp 3918}#
-                     (@apply
-                       (lambda (#{pat 3921}# #{exp 3922}#)
-                         (if (if (#{id? 343}# #{pat 3921}#)
-                               (and-map
-                                 (lambda (#{x 3925}#)
-                                   (not (#{free-id=? 399}#
-                                          #{pat 3921}#
-                                          #{x 3925}#)))
-                                 (cons '#(syntax-object
-                                          ...
-                                          ((top)
-                                           #(ribcage
-                                             #(pat exp)
-                                             #((top) (top))
-                                             #("i3919" "i3920"))
-                                           #(ribcage () () ())
-                                           #(ribcage
-                                             #(x keys clauses r mod)
-                                             #((top) (top) (top) (top) (top))
-                                             #("i3909"
-                                               "i3910"
-                                               "i3911"
-                                               "i3912"
-                                               "i3913"))
-                                           #(ribcage
-                                             (gen-syntax-case
-                                               gen-clause
-                                               build-dispatch-call
-                                               convert-pattern)
-                                             ((top) (top) (top) (top))
-                                             ("i3722" "i3720" "i3718" "i3716"))
-                                           #(ribcage
-                                             (lambda-var-list
-                                               gen-var
-                                               strip
-                                               chi-lambda-case
-                                               lambda*-formals
-                                               chi-simple-lambda
-                                               lambda-formals
-                                               ellipsis?
-                                               chi-void
-                                               eval-local-transformer
-                                               chi-local-syntax
-                                               chi-body
-                                               chi-macro
-                                               chi-call
-                                               chi-expr
-                                               chi
-                                               syntax-type
-                                               chi-when-list
-                                               chi-install-global
-                                               chi-top-sequence
-                                               chi-sequence
-                                               source-wrap
-                                               wrap
-                                               bound-id-member?
-                                               distinct-bound-ids?
-                                               valid-bound-ids?
-                                               bound-id=?
-                                               free-id=?
-                                               id-var-name
-                                               same-marks?
-                                               join-marks
-                                               join-wraps
-                                               smart-append
-                                               make-binding-wrap
-                                               extend-ribcage!
-                                               make-empty-ribcage
-                                               new-mark
-                                               anti-mark
-                                               the-anti-mark
-                                               top-marked?
-                                               top-wrap
-                                               empty-wrap
-                                               set-ribcage-labels!
-                                               set-ribcage-marks!
-                                               set-ribcage-symnames!
-                                               ribcage-labels
-                                               ribcage-marks
-                                               ribcage-symnames
-                                               ribcage?
-                                               make-ribcage
-                                               gen-labels
-                                               gen-label
-                                               make-rename
-                                               rename-marks
-                                               rename-new
-                                               rename-old
-                                               subst-rename?
-                                               wrap-subst
-                                               wrap-marks
-                                               make-wrap
-                                               id-sym-name&marks
-                                               id-sym-name
-                                               id?
-                                               nonsymbol-id?
-                                               global-extend
-                                               lookup
-                                               macros-only-env
-                                               extend-var-env
-                                               extend-env
-                                               null-env
-                                               binding-value
-                                               binding-type
-                                               make-binding
-                                               arg-check
-                                               source-annotation
-                                               no-source
-                                               set-syntax-object-module!
-                                               set-syntax-object-wrap!
-                                               set-syntax-object-expression!
-                                               syntax-object-module
-                                               syntax-object-wrap
-                                               syntax-object-expression
-                                               syntax-object?
-                                               make-syntax-object
-                                               build-lexical-var
-                                               build-letrec
-                                               build-named-let
-                                               build-let
-                                               build-sequence
-                                               build-data
-                                               build-primref
-                                               build-primcall
-                                               build-lambda-case
-                                               build-case-lambda
-                                               build-simple-lambda
-                                               build-global-definition
-                                               build-global-assignment
-                                               build-global-reference
-                                               analyze-variable
-                                               build-lexical-assignment
-                                               build-lexical-reference
-                                               build-dynlet
-                                               build-conditional
-                                               build-call
-                                               build-void
-                                               maybe-name-value!
-                                               decorate-source
-                                               get-global-definition-hook
-                                               put-global-definition-hook
-                                               gensym-hook
-                                               local-eval-hook
-                                               top-level-eval-hook
-                                               fx<
-                                               fx=
-                                               fx-
-                                               fx+
-                                               set-lambda-meta!
-                                               lambda-meta
-                                               lambda?
-                                               make-dynlet
-                                               make-letrec
-                                               make-let
-                                               make-lambda-case
-                                               make-lambda
-                                               make-seq
-                                               make-primcall
-                                               make-call
-                                               make-conditional
-                                               make-toplevel-define
-                                               make-toplevel-set
-                                               make-toplevel-ref
-                                               make-module-set
-                                               make-module-ref
-                                               make-lexical-set
-                                               make-lexical-ref
-                                               make-primitive-ref
-                                               make-const
-                                               make-void)
-                                             ((top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top))
-                                             ("i452"
-                                              "i450"
-                                              "i448"
-                                              "i446"
-                                              "i444"
-                                              "i442"
-                                              "i440"
-                                              "i438"
-                                              "i436"
-                                              "i434"
-                                              "i432"
-                                              "i430"
-                                              "i428"
-                                              "i426"
-                                              "i424"
-                                              "i422"
-                                              "i420"
-                                              "i418"
-                                              "i416"
-                                              "i414"
-                                              "i412"
-                                              "i410"
-                                              "i408"
-                                              "i406"
-                                              "i404"
-                                              "i402"
-                                              "i400"
-                                              "i398"
-                                              "i396"
-                                              "i394"
-                                              "i392"
-                                              "i390"
-                                              "i388"
-                                              "i386"
-                                              "i384"
-                                              "i383"
-                                              "i382"
-                                              "i380"
-                                              "i379"
-                                              "i378"
-                                              "i377"
-                                              "i376"
-                                              "i374"
-                                              "i372"
-                                              "i370"
-                                              "i368"
-                                              "i366"
-                                              "i364"
-                                              "i362"
-                                              "i360"
-                                              "i357"
-                                              "i355"
-                                              "i354"
-                                              "i353"
-                                              "i352"
-                                              "i351"
-                                              "i350"
-                                              "i349"
-                                              "i348"
-                                              "i347"
-                                              "i345"
-                                              "i344"
-                                              "i342"
-                                              "i340"
-                                              "i338"
-                                              "i336"
-                                              "i334"
-                                              "i332"
-                                              "i330"
-                                              "i329"
-                                              "i328"
-                                              "i327"
-                                              "i326"
-                                              "i325"
-                                              "i323"
-                                              "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"
-                                              "i272"
-                                              "i270"
-                                              "i268"
-                                              "i266"
-                                              "i264"
-                                              "i262"
-                                              "i260"
-                                              "i258"
-                                              "i256"
-                                              "i255"
-                                              "i253"
-                                              "i251"
-                                              "i250"
-                                              "i249"
-                                              "i248"
-                                              "i247"
-                                              "i245"
-                                              "i243"
-                                              "i241"
-                                              "i238"
-                                              "i236"
-                                              "i234"
-                                              "i232"
-                                              "i230"
-                                              "i228"
-                                              "i226"
-                                              "i224"
-                                              "i222"
-                                              "i220"
-                                              "i218"
-                                              "i216"
-                                              "i214"
-                                              "i212"
-                                              "i210"
-                                              "i208"
-                                              "i206"
-                                              "i204"
-                                              "i202"))
-                                           #(ribcage
-                                             (define-structure
-                                               define-expansion-accessors
-                                               define-expansion-constructors)
-                                             ((top) (top) (top))
-                                             ("i40" "i39" "i38")))
-                                          (hygiene guile))
-                                       #{keys 3905}#))
-                               #f)
-                           (if (#{free-id=? 399}#
-                                 '#(syntax-object
-                                    pad
-                                    ((top)
-                                     #(ribcage
-                                       #(pat exp)
-                                       #((top) (top))
-                                       #("i3919" "i3920"))
-                                     #(ribcage () () ())
-                                     #(ribcage
-                                       #(x keys clauses r mod)
-                                       #((top) (top) (top) (top) (top))
-                                       #("i3909"
-                                         "i3910"
-                                         "i3911"
-                                         "i3912"
-                                         "i3913"))
-                                     #(ribcage
-                                       (gen-syntax-case
-                                         gen-clause
-                                         build-dispatch-call
-                                         convert-pattern)
-                                       ((top) (top) (top) (top))
-                                       ("i3722" "i3720" "i3718" "i3716"))
-                                     #(ribcage
-                                       (lambda-var-list
-                                         gen-var
-                                         strip
-                                         chi-lambda-case
-                                         lambda*-formals
-                                         chi-simple-lambda
-                                         lambda-formals
-                                         ellipsis?
-                                         chi-void
-                                         eval-local-transformer
-                                         chi-local-syntax
-                                         chi-body
-                                         chi-macro
-                                         chi-call
-                                         chi-expr
-                                         chi
-                                         syntax-type
-                                         chi-when-list
-                                         chi-install-global
-                                         chi-top-sequence
-                                         chi-sequence
-                                         source-wrap
-                                         wrap
-                                         bound-id-member?
-                                         distinct-bound-ids?
-                                         valid-bound-ids?
-                                         bound-id=?
-                                         free-id=?
-                                         id-var-name
-                                         same-marks?
-                                         join-marks
-                                         join-wraps
-                                         smart-append
-                                         make-binding-wrap
-                                         extend-ribcage!
-                                         make-empty-ribcage
-                                         new-mark
-                                         anti-mark
-                                         the-anti-mark
-                                         top-marked?
-                                         top-wrap
-                                         empty-wrap
-                                         set-ribcage-labels!
-                                         set-ribcage-marks!
-                                         set-ribcage-symnames!
-                                         ribcage-labels
-                                         ribcage-marks
-                                         ribcage-symnames
-                                         ribcage?
-                                         make-ribcage
-                                         gen-labels
-                                         gen-label
-                                         make-rename
-                                         rename-marks
-                                         rename-new
-                                         rename-old
-                                         subst-rename?
-                                         wrap-subst
-                                         wrap-marks
-                                         make-wrap
-                                         id-sym-name&marks
-                                         id-sym-name
-                                         id?
-                                         nonsymbol-id?
-                                         global-extend
-                                         lookup
-                                         macros-only-env
-                                         extend-var-env
-                                         extend-env
-                                         null-env
-                                         binding-value
-                                         binding-type
-                                         make-binding
-                                         arg-check
-                                         source-annotation
-                                         no-source
-                                         set-syntax-object-module!
-                                         set-syntax-object-wrap!
-                                         set-syntax-object-expression!
-                                         syntax-object-module
-                                         syntax-object-wrap
-                                         syntax-object-expression
-                                         syntax-object?
-                                         make-syntax-object
-                                         build-lexical-var
-                                         build-letrec
-                                         build-named-let
-                                         build-let
-                                         build-sequence
-                                         build-data
-                                         build-primref
-                                         build-primcall
-                                         build-lambda-case
-                                         build-case-lambda
-                                         build-simple-lambda
-                                         build-global-definition
-                                         build-global-assignment
-                                         build-global-reference
-                                         analyze-variable
-                                         build-lexical-assignment
-                                         build-lexical-reference
-                                         build-dynlet
-                                         build-conditional
-                                         build-call
-                                         build-void
-                                         maybe-name-value!
-                                         decorate-source
-                                         get-global-definition-hook
-                                         put-global-definition-hook
-                                         gensym-hook
-                                         local-eval-hook
-                                         top-level-eval-hook
-                                         fx<
-                                         fx=
-                                         fx-
-                                         fx+
-                                         set-lambda-meta!
-                                         lambda-meta
-                                         lambda?
-                                         make-dynlet
-                                         make-letrec
-                                         make-let
-                                         make-lambda-case
-                                         make-lambda
-                                         make-seq
-                                         make-primcall
-                                         make-call
-                                         make-conditional
-                                         make-toplevel-define
-                                         make-toplevel-set
-                                         make-toplevel-ref
-                                         make-module-set
-                                         make-module-ref
-                                         make-lexical-set
-                                         make-lexical-ref
-                                         make-primitive-ref
-                                         make-const
-                                         make-void)
-                                       ((top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top))
-                                       ("i452"
-                                        "i450"
-                                        "i448"
-                                        "i446"
-                                        "i444"
-                                        "i442"
-                                        "i440"
-                                        "i438"
-                                        "i436"
-                                        "i434"
-                                        "i432"
-                                        "i430"
-                                        "i428"
-                                        "i426"
-                                        "i424"
-                                        "i422"
-                                        "i420"
-                                        "i418"
-                                        "i416"
-                                        "i414"
-                                        "i412"
-                                        "i410"
-                                        "i408"
-                                        "i406"
-                                        "i404"
-                                        "i402"
-                                        "i400"
-                                        "i398"
-                                        "i396"
-                                        "i394"
-                                        "i392"
-                                        "i390"
-                                        "i388"
-                                        "i386"
-                                        "i384"
-                                        "i383"
-                                        "i382"
-                                        "i380"
-                                        "i379"
-                                        "i378"
-                                        "i377"
-                                        "i376"
-                                        "i374"
-                                        "i372"
-                                        "i370"
-                                        "i368"
-                                        "i366"
-                                        "i364"
-                                        "i362"
-                                        "i360"
-                                        "i357"
-                                        "i355"
-                                        "i354"
-                                        "i353"
-                                        "i352"
-                                        "i351"
-                                        "i350"
-                                        "i349"
-                                        "i348"
-                                        "i347"
-                                        "i345"
-                                        "i344"
-                                        "i342"
-                                        "i340"
-                                        "i338"
-                                        "i336"
-                                        "i334"
-                                        "i332"
-                                        "i330"
-                                        "i329"
-                                        "i328"
-                                        "i327"
-                                        "i326"
-                                        "i325"
-                                        "i323"
-                                        "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"
-                                        "i272"
-                                        "i270"
-                                        "i268"
-                                        "i266"
-                                        "i264"
-                                        "i262"
-                                        "i260"
-                                        "i258"
-                                        "i256"
-                                        "i255"
-                                        "i253"
-                                        "i251"
-                                        "i250"
-                                        "i249"
-                                        "i248"
-                                        "i247"
-                                        "i245"
-                                        "i243"
-                                        "i241"
-                                        "i238"
-                                        "i236"
-                                        "i234"
-                                        "i232"
-                                        "i230"
-                                        "i228"
-                                        "i226"
-                                        "i224"
-                                        "i222"
-                                        "i220"
-                                        "i218"
-                                        "i216"
-                                        "i214"
-                                        "i212"
-                                        "i210"
-                                        "i208"
-                                        "i206"
-                                        "i204"
-                                        "i202"))
-                                     #(ribcage
-                                       (define-structure
-                                         define-expansion-accessors
-                                         define-expansion-constructors)
-                                       ((top) (top) (top))
-                                       ("i40" "i39" "i38")))
-                                    (hygiene guile))
-                                 '#(syntax-object
-                                    _
-                                    ((top)
-                                     #(ribcage
-                                       #(pat exp)
-                                       #((top) (top))
-                                       #("i3919" "i3920"))
-                                     #(ribcage () () ())
-                                     #(ribcage
-                                       #(x keys clauses r mod)
-                                       #((top) (top) (top) (top) (top))
-                                       #("i3909"
-                                         "i3910"
-                                         "i3911"
-                                         "i3912"
-                                         "i3913"))
-                                     #(ribcage
-                                       (gen-syntax-case
-                                         gen-clause
-                                         build-dispatch-call
-                                         convert-pattern)
-                                       ((top) (top) (top) (top))
-                                       ("i3722" "i3720" "i3718" "i3716"))
-                                     #(ribcage
-                                       (lambda-var-list
-                                         gen-var
-                                         strip
-                                         chi-lambda-case
-                                         lambda*-formals
-                                         chi-simple-lambda
-                                         lambda-formals
-                                         ellipsis?
-                                         chi-void
-                                         eval-local-transformer
-                                         chi-local-syntax
-                                         chi-body
-                                         chi-macro
-                                         chi-call
-                                         chi-expr
-                                         chi
-                                         syntax-type
-                                         chi-when-list
-                                         chi-install-global
-                                         chi-top-sequence
-                                         chi-sequence
-                                         source-wrap
-                                         wrap
-                                         bound-id-member?
-                                         distinct-bound-ids?
-                                         valid-bound-ids?
-                                         bound-id=?
-                                         free-id=?
-                                         id-var-name
-                                         same-marks?
-                                         join-marks
-                                         join-wraps
-                                         smart-append
-                                         make-binding-wrap
-                                         extend-ribcage!
-                                         make-empty-ribcage
-                                         new-mark
-                                         anti-mark
-                                         the-anti-mark
-                                         top-marked?
-                                         top-wrap
-                                         empty-wrap
-                                         set-ribcage-labels!
-                                         set-ribcage-marks!
-                                         set-ribcage-symnames!
-                                         ribcage-labels
-                                         ribcage-marks
-                                         ribcage-symnames
-                                         ribcage?
-                                         make-ribcage
-                                         gen-labels
-                                         gen-label
-                                         make-rename
-                                         rename-marks
-                                         rename-new
-                                         rename-old
-                                         subst-rename?
-                                         wrap-subst
-                                         wrap-marks
-                                         make-wrap
-                                         id-sym-name&marks
-                                         id-sym-name
-                                         id?
-                                         nonsymbol-id?
-                                         global-extend
-                                         lookup
-                                         macros-only-env
-                                         extend-var-env
-                                         extend-env
-                                         null-env
-                                         binding-value
-                                         binding-type
-                                         make-binding
-                                         arg-check
-                                         source-annotation
-                                         no-source
-                                         set-syntax-object-module!
-                                         set-syntax-object-wrap!
-                                         set-syntax-object-expression!
-                                         syntax-object-module
-                                         syntax-object-wrap
-                                         syntax-object-expression
-                                         syntax-object?
-                                         make-syntax-object
-                                         build-lexical-var
-                                         build-letrec
-                                         build-named-let
-                                         build-let
-                                         build-sequence
-                                         build-data
-                                         build-primref
-                                         build-primcall
-                                         build-lambda-case
-                                         build-case-lambda
-                                         build-simple-lambda
-                                         build-global-definition
-                                         build-global-assignment
-                                         build-global-reference
-                                         analyze-variable
-                                         build-lexical-assignment
-                                         build-lexical-reference
-                                         build-dynlet
-                                         build-conditional
-                                         build-call
-                                         build-void
-                                         maybe-name-value!
-                                         decorate-source
-                                         get-global-definition-hook
-                                         put-global-definition-hook
-                                         gensym-hook
-                                         local-eval-hook
-                                         top-level-eval-hook
-                                         fx<
-                                         fx=
-                                         fx-
-                                         fx+
-                                         set-lambda-meta!
-                                         lambda-meta
-                                         lambda?
-                                         make-dynlet
-                                         make-letrec
-                                         make-let
-                                         make-lambda-case
-                                         make-lambda
-                                         make-seq
-                                         make-primcall
-                                         make-call
-                                         make-conditional
-                                         make-toplevel-define
-                                         make-toplevel-set
-                                         make-toplevel-ref
-                                         make-module-set
-                                         make-module-ref
-                                         make-lexical-set
-                                         make-lexical-ref
-                                         make-primitive-ref
-                                         make-const
-                                         make-void)
-                                       ((top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top))
-                                       ("i452"
-                                        "i450"
-                                        "i448"
-                                        "i446"
-                                        "i444"
-                                        "i442"
-                                        "i440"
-                                        "i438"
-                                        "i436"
-                                        "i434"
-                                        "i432"
-                                        "i430"
-                                        "i428"
-                                        "i426"
-                                        "i424"
-                                        "i422"
-                                        "i420"
-                                        "i418"
-                                        "i416"
-                                        "i414"
-                                        "i412"
-                                        "i410"
-                                        "i408"
-                                        "i406"
-                                        "i404"
-                                        "i402"
-                                        "i400"
-                                        "i398"
-                                        "i396"
-                                        "i394"
-                                        "i392"
-                                        "i390"
-                                        "i388"
-                                        "i386"
-                                        "i384"
-                                        "i383"
-                                        "i382"
-                                        "i380"
-                                        "i379"
-                                        "i378"
-                                        "i377"
-                                        "i376"
-                                        "i374"
-                                        "i372"
-                                        "i370"
-                                        "i368"
-                                        "i366"
-                                        "i364"
-                                        "i362"
-                                        "i360"
-                                        "i357"
-                                        "i355"
-                                        "i354"
-                                        "i353"
-                                        "i352"
-                                        "i351"
-                                        "i350"
-                                        "i349"
-                                        "i348"
-                                        "i347"
-                                        "i345"
-                                        "i344"
-                                        "i342"
-                                        "i340"
-                                        "i338"
-                                        "i336"
-                                        "i334"
-                                        "i332"
-                                        "i330"
-                                        "i329"
-                                        "i328"
-                                        "i327"
-                                        "i326"
-                                        "i325"
-                                        "i323"
-                                        "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"
-                                        "i272"
-                                        "i270"
-                                        "i268"
-                                        "i266"
-                                        "i264"
-                                        "i262"
-                                        "i260"
-                                        "i258"
-                                        "i256"
-                                        "i255"
-                                        "i253"
-                                        "i251"
-                                        "i250"
-                                        "i249"
-                                        "i248"
-                                        "i247"
-                                        "i245"
-                                        "i243"
-                                        "i241"
-                                        "i238"
-                                        "i236"
-                                        "i234"
-                                        "i232"
-                                        "i230"
-                                        "i228"
-                                        "i226"
-                                        "i224"
-                                        "i222"
-                                        "i220"
-                                        "i218"
-                                        "i216"
-                                        "i214"
-                                        "i212"
-                                        "i210"
-                                        "i208"
-                                        "i206"
-                                        "i204"
-                                        "i202"))
-                                     #(ribcage
-                                       (define-structure
-                                         define-expansion-accessors
-                                         define-expansion-constructors)
-                                       ((top) (top) (top))
-                                       ("i40" "i39" "i38")))
-                                    (hygiene guile)))
-                             (#{chi 423}#
-                               #{exp 3922}#
-                               #{r 3907}#
-                               '(())
-                               #{mod 3908}#)
-                             (let ((#{labels 3930}# (list (#{gen-label 356}#)))
-                                   (#{var 3931}#
-                                     (#{gen-var 451}# #{pat 3921}#)))
-                               (#{build-call 267}#
-                                 #f
-                                 (#{build-simple-lambda 285}#
+                                                 (lambda (#{name 1901}#)
+                                                   (values
+                                                     'define-form
+                                                     (#{wrap 427}#
+                                                       #{name 1901}#
+                                                       #{w 1799}#
+                                                       #{mod 1802}#)
+                                                     '(#(syntax-object
+                                                         if
+                                                         ((top)
+                                                          #(ribcage
+                                                            #(name)
+                                                            #((top))
+                                                            #("i1900"))
+                                                          #(ribcage () () ())
+                                                          #(ribcage () () ())
+                                                          #(ribcage
+                                                            #(ftype
+                                                              fval
+                                                              fe
+                                                              fw
+                                                              fs
+                                                              fmod)
+                                                            #((top)
+                                                              (top)
+                                                              (top)
+                                                              (top)
+                                                              (top)
+                                                              (top))
+                                                            #("i1840"
+                                                              "i1841"
+                                                              "i1842"
+                                                              "i1843"
+                                                              "i1844"
+                                                              "i1845"))
+                                                          #(ribcage () () ())
+                                                          #(ribcage
+                                                            #(first)
+                                                            #((top))
+                                                            #("i1832"))
+                                                          #(ribcage () () ())
+                                                          #(ribcage () () ())
+                                                          #(ribcage () () ())
+                                                          #(ribcage
+                                                            #(e
+                                                              r
+                                                              w
+                                                              s
+                                                              rib
+                                                              mod
+                                                              for-car?)
+                                                            #((top)
+                                                              (top)
+                                                              (top)
+                                                              (top)
+                                                              (top)
+                                                              (top)
+                                                              (top))
+                                                            #("i1804"
+                                                              "i1805"
+                                                              "i1806"
+                                                              "i1807"
+                                                              "i1808"
+                                                              "i1809"
+                                                              "i1810"))
+                                                          #(ribcage
+                                                            (lambda-var-list
+                                                              gen-var
+                                                              strip
+                                                              chi-lambda-case
+                                                              lambda*-formals
+                                                              chi-simple-lambda
+                                                              lambda-formals
+                                                              ellipsis?
+                                                              chi-void
+                                                              
eval-local-transformer
+                                                              chi-local-syntax
+                                                              chi-body
+                                                              chi-macro
+                                                              chi-call
+                                                              chi-expr
+                                                              chi
+                                                              syntax-type
+                                                              chi-when-list
+                                                              
chi-install-global
+                                                              chi-top-sequence
+                                                              chi-sequence
+                                                              source-wrap
+                                                              wrap
+                                                              bound-id-member?
+                                                              
distinct-bound-ids?
+                                                              valid-bound-ids?
+                                                              bound-id=?
+                                                              free-id=?
+                                                              id-var-name
+                                                              same-marks?
+                                                              join-marks
+                                                              join-wraps
+                                                              smart-append
+                                                              make-binding-wrap
+                                                              extend-ribcage!
+                                                              
make-empty-ribcage
+                                                              new-mark
+                                                              anti-mark
+                                                              the-anti-mark
+                                                              top-marked?
+                                                              top-wrap
+                                                              empty-wrap
+                                                              
set-ribcage-labels!
+                                                              
set-ribcage-marks!
+                                                              
set-ribcage-symnames!
+                                                              ribcage-labels
+                                                              ribcage-marks
+                                                              ribcage-symnames
+                                                              ribcage?
+                                                              make-ribcage
+                                                              gen-labels
+                                                              gen-label
+                                                              make-rename
+                                                              rename-marks
+                                                              rename-new
+                                                              rename-old
+                                                              subst-rename?
+                                                              wrap-subst
+                                                              wrap-marks
+                                                              make-wrap
+                                                              id-sym-name&marks
+                                                              id-sym-name
+                                                              id?
+                                                              nonsymbol-id?
+                                                              global-extend
+                                                              lookup
+                                                              macros-only-env
+                                                              extend-var-env
+                                                              extend-env
+                                                              null-env
+                                                              binding-value
+                                                              binding-type
+                                                              make-binding
+                                                              arg-check
+                                                              source-annotation
+                                                              no-source
+                                                              
set-syntax-object-module!
+                                                              
set-syntax-object-wrap!
+                                                              
set-syntax-object-expression!
+                                                              
syntax-object-module
+                                                              
syntax-object-wrap
+                                                              
syntax-object-expression
+                                                              syntax-object?
+                                                              
make-syntax-object
+                                                              build-lexical-var
+                                                              build-letrec
+                                                              build-named-let
+                                                              build-let
+                                                              build-sequence
+                                                              build-data
+                                                              build-primref
+                                                              build-primcall
+                                                              build-lambda-case
+                                                              build-case-lambda
+                                                              
build-simple-lambda
+                                                              
build-global-definition
+                                                              
build-global-assignment
+                                                              
build-global-reference
+                                                              analyze-variable
+                                                              
build-lexical-assignment
+                                                              
build-lexical-reference
+                                                              build-dynlet
+                                                              build-conditional
+                                                              build-call
+                                                              build-void
+                                                              maybe-name-value!
+                                                              decorate-source
+                                                              
get-global-definition-hook
+                                                              
put-global-definition-hook
+                                                              gensym-hook
+                                                              local-eval-hook
+                                                              
top-level-eval-hook
+                                                              fx<
+                                                              fx=
+                                                              fx-
+                                                              fx+
+                                                              set-lambda-meta!
+                                                              lambda-meta
+                                                              lambda?
+                                                              make-dynlet
+                                                              make-letrec
+                                                              make-let
+                                                              make-lambda-case
+                                                              make-lambda
+                                                              make-seq
+                                                              make-primcall
+                                                              make-call
+                                                              make-conditional
+                                                              
make-toplevel-define
+                                                              make-toplevel-set
+                                                              make-toplevel-ref
+                                                              make-module-set
+                                                              make-module-ref
+                                                              make-lexical-set
+                                                              make-lexical-ref
+                                                              
make-primitive-ref
+                                                              make-const
+                                                              make-void)
+                                                            ((top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top))
+                                                            ("i470"
+                                                             "i468"
+                                                             "i466"
+                                                             "i464"
+                                                             "i462"
+                                                             "i460"
+                                                             "i458"
+                                                             "i456"
+                                                             "i454"
+                                                             "i452"
+                                                             "i450"
+                                                             "i448"
+                                                             "i446"
+                                                             "i444"
+                                                             "i442"
+                                                             "i440"
+                                                             "i438"
+                                                             "i436"
+                                                             "i434"
+                                                             "i432"
+                                                             "i430"
+                                                             "i428"
+                                                             "i426"
+                                                             "i424"
+                                                             "i422"
+                                                             "i420"
+                                                             "i418"
+                                                             "i416"
+                                                             "i414"
+                                                             "i412"
+                                                             "i410"
+                                                             "i408"
+                                                             "i406"
+                                                             "i404"
+                                                             "i402"
+                                                             "i401"
+                                                             "i399"
+                                                             "i396"
+                                                             "i395"
+                                                             "i394"
+                                                             "i392"
+                                                             "i391"
+                                                             "i389"
+                                                             "i387"
+                                                             "i385"
+                                                             "i383"
+                                                             "i381"
+                                                             "i379"
+                                                             "i377"
+                                                             "i375"
+                                                             "i372"
+                                                             "i370"
+                                                             "i369"
+                                                             "i367"
+                                                             "i365"
+                                                             "i363"
+                                                             "i361"
+                                                             "i360"
+                                                             "i359"
+                                                             "i358"
+                                                             "i356"
+                                                             "i355"
+                                                             "i352"
+                                                             "i350"
+                                                             "i348"
+                                                             "i346"
+                                                             "i344"
+                                                             "i342"
+                                                             "i340"
+                                                             "i339"
+                                                             "i338"
+                                                             "i336"
+                                                             "i334"
+                                                             "i333"
+                                                             "i330"
+                                                             "i329"
+                                                             "i327"
+                                                             "i325"
+                                                             "i323"
+                                                             "i321"
+                                                             "i319"
+                                                             "i317"
+                                                             "i315"
+                                                             "i313"
+                                                             "i311"
+                                                             "i308"
+                                                             "i306"
+                                                             "i304"
+                                                             "i302"
+                                                             "i300"
+                                                             "i298"
+                                                             "i296"
+                                                             "i294"
+                                                             "i292"
+                                                             "i290"
+                                                             "i288"
+                                                             "i286"
+                                                             "i284"
+                                                             "i282"
+                                                             "i280"
+                                                             "i278"
+                                                             "i276"
+                                                             "i274"
+                                                             "i272"
+                                                             "i270"
+                                                             "i268"
+                                                             "i266"
+                                                             "i264"
+                                                             "i262"
+                                                             "i261"
+                                                             "i258"
+                                                             "i256"
+                                                             "i255"
+                                                             "i254"
+                                                             "i253"
+                                                             "i252"
+                                                             "i250"
+                                                             "i248"
+                                                             "i246"
+                                                             "i243"
+                                                             "i241"
+                                                             "i239"
+                                                             "i237"
+                                                             "i235"
+                                                             "i233"
+                                                             "i231"
+                                                             "i229"
+                                                             "i227"
+                                                             "i225"
+                                                             "i223"
+                                                             "i221"
+                                                             "i219"
+                                                             "i217"
+                                                             "i215"
+                                                             "i213"
+                                                             "i211"
+                                                             "i209"
+                                                             "i207"))
+                                                          #(ribcage
+                                                            (define-structure
+                                                              
define-expansion-accessors
+                                                              
define-expansion-constructors)
+                                                            ((top) (top) (top))
+                                                            ("i45"
+                                                             "i44"
+                                                             "i43")))
+                                                         (hygiene guile))
+                                                       #(syntax-object
+                                                         #f
+                                                         ((top)
+                                                          #(ribcage
+                                                            #(name)
+                                                            #((top))
+                                                            #("i1900"))
+                                                          #(ribcage () () ())
+                                                          #(ribcage () () ())
+                                                          #(ribcage
+                                                            #(ftype
+                                                              fval
+                                                              fe
+                                                              fw
+                                                              fs
+                                                              fmod)
+                                                            #((top)
+                                                              (top)
+                                                              (top)
+                                                              (top)
+                                                              (top)
+                                                              (top))
+                                                            #("i1840"
+                                                              "i1841"
+                                                              "i1842"
+                                                              "i1843"
+                                                              "i1844"
+                                                              "i1845"))
+                                                          #(ribcage () () ())
+                                                          #(ribcage
+                                                            #(first)
+                                                            #((top))
+                                                            #("i1832"))
+                                                          #(ribcage () () ())
+                                                          #(ribcage () () ())
+                                                          #(ribcage () () ())
+                                                          #(ribcage
+                                                            #(e
+                                                              r
+                                                              w
+                                                              s
+                                                              rib
+                                                              mod
+                                                              for-car?)
+                                                            #((top)
+                                                              (top)
+                                                              (top)
+                                                              (top)
+                                                              (top)
+                                                              (top)
+                                                              (top))
+                                                            #("i1804"
+                                                              "i1805"
+                                                              "i1806"
+                                                              "i1807"
+                                                              "i1808"
+                                                              "i1809"
+                                                              "i1810"))
+                                                          #(ribcage
+                                                            (lambda-var-list
+                                                              gen-var
+                                                              strip
+                                                              chi-lambda-case
+                                                              lambda*-formals
+                                                              chi-simple-lambda
+                                                              lambda-formals
+                                                              ellipsis?
+                                                              chi-void
+                                                              
eval-local-transformer
+                                                              chi-local-syntax
+                                                              chi-body
+                                                              chi-macro
+                                                              chi-call
+                                                              chi-expr
+                                                              chi
+                                                              syntax-type
+                                                              chi-when-list
+                                                              
chi-install-global
+                                                              chi-top-sequence
+                                                              chi-sequence
+                                                              source-wrap
+                                                              wrap
+                                                              bound-id-member?
+                                                              
distinct-bound-ids?
+                                                              valid-bound-ids?
+                                                              bound-id=?
+                                                              free-id=?
+                                                              id-var-name
+                                                              same-marks?
+                                                              join-marks
+                                                              join-wraps
+                                                              smart-append
+                                                              make-binding-wrap
+                                                              extend-ribcage!
+                                                              
make-empty-ribcage
+                                                              new-mark
+                                                              anti-mark
+                                                              the-anti-mark
+                                                              top-marked?
+                                                              top-wrap
+                                                              empty-wrap
+                                                              
set-ribcage-labels!
+                                                              
set-ribcage-marks!
+                                                              
set-ribcage-symnames!
+                                                              ribcage-labels
+                                                              ribcage-marks
+                                                              ribcage-symnames
+                                                              ribcage?
+                                                              make-ribcage
+                                                              gen-labels
+                                                              gen-label
+                                                              make-rename
+                                                              rename-marks
+                                                              rename-new
+                                                              rename-old
+                                                              subst-rename?
+                                                              wrap-subst
+                                                              wrap-marks
+                                                              make-wrap
+                                                              id-sym-name&marks
+                                                              id-sym-name
+                                                              id?
+                                                              nonsymbol-id?
+                                                              global-extend
+                                                              lookup
+                                                              macros-only-env
+                                                              extend-var-env
+                                                              extend-env
+                                                              null-env
+                                                              binding-value
+                                                              binding-type
+                                                              make-binding
+                                                              arg-check
+                                                              source-annotation
+                                                              no-source
+                                                              
set-syntax-object-module!
+                                                              
set-syntax-object-wrap!
+                                                              
set-syntax-object-expression!
+                                                              
syntax-object-module
+                                                              
syntax-object-wrap
+                                                              
syntax-object-expression
+                                                              syntax-object?
+                                                              
make-syntax-object
+                                                              build-lexical-var
+                                                              build-letrec
+                                                              build-named-let
+                                                              build-let
+                                                              build-sequence
+                                                              build-data
+                                                              build-primref
+                                                              build-primcall
+                                                              build-lambda-case
+                                                              build-case-lambda
+                                                              
build-simple-lambda
+                                                              
build-global-definition
+                                                              
build-global-assignment
+                                                              
build-global-reference
+                                                              analyze-variable
+                                                              
build-lexical-assignment
+                                                              
build-lexical-reference
+                                                              build-dynlet
+                                                              build-conditional
+                                                              build-call
+                                                              build-void
+                                                              maybe-name-value!
+                                                              decorate-source
+                                                              
get-global-definition-hook
+                                                              
put-global-definition-hook
+                                                              gensym-hook
+                                                              local-eval-hook
+                                                              
top-level-eval-hook
+                                                              fx<
+                                                              fx=
+                                                              fx-
+                                                              fx+
+                                                              set-lambda-meta!
+                                                              lambda-meta
+                                                              lambda?
+                                                              make-dynlet
+                                                              make-letrec
+                                                              make-let
+                                                              make-lambda-case
+                                                              make-lambda
+                                                              make-seq
+                                                              make-primcall
+                                                              make-call
+                                                              make-conditional
+                                                              
make-toplevel-define
+                                                              make-toplevel-set
+                                                              make-toplevel-ref
+                                                              make-module-set
+                                                              make-module-ref
+                                                              make-lexical-set
+                                                              make-lexical-ref
+                                                              
make-primitive-ref
+                                                              make-const
+                                                              make-void)
+                                                            ((top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top))
+                                                            ("i470"
+                                                             "i468"
+                                                             "i466"
+                                                             "i464"
+                                                             "i462"
+                                                             "i460"
+                                                             "i458"
+                                                             "i456"
+                                                             "i454"
+                                                             "i452"
+                                                             "i450"
+                                                             "i448"
+                                                             "i446"
+                                                             "i444"
+                                                             "i442"
+                                                             "i440"
+                                                             "i438"
+                                                             "i436"
+                                                             "i434"
+                                                             "i432"
+                                                             "i430"
+                                                             "i428"
+                                                             "i426"
+                                                             "i424"
+                                                             "i422"
+                                                             "i420"
+                                                             "i418"
+                                                             "i416"
+                                                             "i414"
+                                                             "i412"
+                                                             "i410"
+                                                             "i408"
+                                                             "i406"
+                                                             "i404"
+                                                             "i402"
+                                                             "i401"
+                                                             "i399"
+                                                             "i396"
+                                                             "i395"
+                                                             "i394"
+                                                             "i392"
+                                                             "i391"
+                                                             "i389"
+                                                             "i387"
+                                                             "i385"
+                                                             "i383"
+                                                             "i381"
+                                                             "i379"
+                                                             "i377"
+                                                             "i375"
+                                                             "i372"
+                                                             "i370"
+                                                             "i369"
+                                                             "i367"
+                                                             "i365"
+                                                             "i363"
+                                                             "i361"
+                                                             "i360"
+                                                             "i359"
+                                                             "i358"
+                                                             "i356"
+                                                             "i355"
+                                                             "i352"
+                                                             "i350"
+                                                             "i348"
+                                                             "i346"
+                                                             "i344"
+                                                             "i342"
+                                                             "i340"
+                                                             "i339"
+                                                             "i338"
+                                                             "i336"
+                                                             "i334"
+                                                             "i333"
+                                                             "i330"
+                                                             "i329"
+                                                             "i327"
+                                                             "i325"
+                                                             "i323"
+                                                             "i321"
+                                                             "i319"
+                                                             "i317"
+                                                             "i315"
+                                                             "i313"
+                                                             "i311"
+                                                             "i308"
+                                                             "i306"
+                                                             "i304"
+                                                             "i302"
+                                                             "i300"
+                                                             "i298"
+                                                             "i296"
+                                                             "i294"
+                                                             "i292"
+                                                             "i290"
+                                                             "i288"
+                                                             "i286"
+                                                             "i284"
+                                                             "i282"
+                                                             "i280"
+                                                             "i278"
+                                                             "i276"
+                                                             "i274"
+                                                             "i272"
+                                                             "i270"
+                                                             "i268"
+                                                             "i266"
+                                                             "i264"
+                                                             "i262"
+                                                             "i261"
+                                                             "i258"
+                                                             "i256"
+                                                             "i255"
+                                                             "i254"
+                                                             "i253"
+                                                             "i252"
+                                                             "i250"
+                                                             "i248"
+                                                             "i246"
+                                                             "i243"
+                                                             "i241"
+                                                             "i239"
+                                                             "i237"
+                                                             "i235"
+                                                             "i233"
+                                                             "i231"
+                                                             "i229"
+                                                             "i227"
+                                                             "i225"
+                                                             "i223"
+                                                             "i221"
+                                                             "i219"
+                                                             "i217"
+                                                             "i215"
+                                                             "i213"
+                                                             "i211"
+                                                             "i209"
+                                                             "i207"))
+                                                          #(ribcage
+                                                            (define-structure
+                                                              
define-expansion-accessors
+                                                              
define-expansion-constructors)
+                                                            ((top) (top) (top))
+                                                            ("i45"
+                                                             "i44"
+                                                             "i43")))
+                                                         (hygiene guile))
+                                                       #(syntax-object
+                                                         #f
+                                                         ((top)
+                                                          #(ribcage
+                                                            #(name)
+                                                            #((top))
+                                                            #("i1900"))
+                                                          #(ribcage () () ())
+                                                          #(ribcage () () ())
+                                                          #(ribcage
+                                                            #(ftype
+                                                              fval
+                                                              fe
+                                                              fw
+                                                              fs
+                                                              fmod)
+                                                            #((top)
+                                                              (top)
+                                                              (top)
+                                                              (top)
+                                                              (top)
+                                                              (top))
+                                                            #("i1840"
+                                                              "i1841"
+                                                              "i1842"
+                                                              "i1843"
+                                                              "i1844"
+                                                              "i1845"))
+                                                          #(ribcage () () ())
+                                                          #(ribcage
+                                                            #(first)
+                                                            #((top))
+                                                            #("i1832"))
+                                                          #(ribcage () () ())
+                                                          #(ribcage () () ())
+                                                          #(ribcage () () ())
+                                                          #(ribcage
+                                                            #(e
+                                                              r
+                                                              w
+                                                              s
+                                                              rib
+                                                              mod
+                                                              for-car?)
+                                                            #((top)
+                                                              (top)
+                                                              (top)
+                                                              (top)
+                                                              (top)
+                                                              (top)
+                                                              (top))
+                                                            #("i1804"
+                                                              "i1805"
+                                                              "i1806"
+                                                              "i1807"
+                                                              "i1808"
+                                                              "i1809"
+                                                              "i1810"))
+                                                          #(ribcage
+                                                            (lambda-var-list
+                                                              gen-var
+                                                              strip
+                                                              chi-lambda-case
+                                                              lambda*-formals
+                                                              chi-simple-lambda
+                                                              lambda-formals
+                                                              ellipsis?
+                                                              chi-void
+                                                              
eval-local-transformer
+                                                              chi-local-syntax
+                                                              chi-body
+                                                              chi-macro
+                                                              chi-call
+                                                              chi-expr
+                                                              chi
+                                                              syntax-type
+                                                              chi-when-list
+                                                              
chi-install-global
+                                                              chi-top-sequence
+                                                              chi-sequence
+                                                              source-wrap
+                                                              wrap
+                                                              bound-id-member?
+                                                              
distinct-bound-ids?
+                                                              valid-bound-ids?
+                                                              bound-id=?
+                                                              free-id=?
+                                                              id-var-name
+                                                              same-marks?
+                                                              join-marks
+                                                              join-wraps
+                                                              smart-append
+                                                              make-binding-wrap
+                                                              extend-ribcage!
+                                                              
make-empty-ribcage
+                                                              new-mark
+                                                              anti-mark
+                                                              the-anti-mark
+                                                              top-marked?
+                                                              top-wrap
+                                                              empty-wrap
+                                                              
set-ribcage-labels!
+                                                              
set-ribcage-marks!
+                                                              
set-ribcage-symnames!
+                                                              ribcage-labels
+                                                              ribcage-marks
+                                                              ribcage-symnames
+                                                              ribcage?
+                                                              make-ribcage
+                                                              gen-labels
+                                                              gen-label
+                                                              make-rename
+                                                              rename-marks
+                                                              rename-new
+                                                              rename-old
+                                                              subst-rename?
+                                                              wrap-subst
+                                                              wrap-marks
+                                                              make-wrap
+                                                              id-sym-name&marks
+                                                              id-sym-name
+                                                              id?
+                                                              nonsymbol-id?
+                                                              global-extend
+                                                              lookup
+                                                              macros-only-env
+                                                              extend-var-env
+                                                              extend-env
+                                                              null-env
+                                                              binding-value
+                                                              binding-type
+                                                              make-binding
+                                                              arg-check
+                                                              source-annotation
+                                                              no-source
+                                                              
set-syntax-object-module!
+                                                              
set-syntax-object-wrap!
+                                                              
set-syntax-object-expression!
+                                                              
syntax-object-module
+                                                              
syntax-object-wrap
+                                                              
syntax-object-expression
+                                                              syntax-object?
+                                                              
make-syntax-object
+                                                              build-lexical-var
+                                                              build-letrec
+                                                              build-named-let
+                                                              build-let
+                                                              build-sequence
+                                                              build-data
+                                                              build-primref
+                                                              build-primcall
+                                                              build-lambda-case
+                                                              build-case-lambda
+                                                              
build-simple-lambda
+                                                              
build-global-definition
+                                                              
build-global-assignment
+                                                              
build-global-reference
+                                                              analyze-variable
+                                                              
build-lexical-assignment
+                                                              
build-lexical-reference
+                                                              build-dynlet
+                                                              build-conditional
+                                                              build-call
+                                                              build-void
+                                                              maybe-name-value!
+                                                              decorate-source
+                                                              
get-global-definition-hook
+                                                              
put-global-definition-hook
+                                                              gensym-hook
+                                                              local-eval-hook
+                                                              
top-level-eval-hook
+                                                              fx<
+                                                              fx=
+                                                              fx-
+                                                              fx+
+                                                              set-lambda-meta!
+                                                              lambda-meta
+                                                              lambda?
+                                                              make-dynlet
+                                                              make-letrec
+                                                              make-let
+                                                              make-lambda-case
+                                                              make-lambda
+                                                              make-seq
+                                                              make-primcall
+                                                              make-call
+                                                              make-conditional
+                                                              
make-toplevel-define
+                                                              make-toplevel-set
+                                                              make-toplevel-ref
+                                                              make-module-set
+                                                              make-module-ref
+                                                              make-lexical-set
+                                                              make-lexical-ref
+                                                              
make-primitive-ref
+                                                              make-const
+                                                              make-void)
+                                                            ((top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top)
+                                                             (top))
+                                                            ("i470"
+                                                             "i468"
+                                                             "i466"
+                                                             "i464"
+                                                             "i462"
+                                                             "i460"
+                                                             "i458"
+                                                             "i456"
+                                                             "i454"
+                                                             "i452"
+                                                             "i450"
+                                                             "i448"
+                                                             "i446"
+                                                             "i444"
+                                                             "i442"
+                                                             "i440"
+                                                             "i438"
+                                                             "i436"
+                                                             "i434"
+                                                             "i432"
+                                                             "i430"
+                                                             "i428"
+                                                             "i426"
+                                                             "i424"
+                                                             "i422"
+                                                             "i420"
+                                                             "i418"
+                                                             "i416"
+                                                             "i414"
+                                                             "i412"
+                                                             "i410"
+                                                             "i408"
+                                                             "i406"
+                                                             "i404"
+                                                             "i402"
+                                                             "i401"
+                                                             "i399"
+                                                             "i396"
+                                                             "i395"
+                                                             "i394"
+                                                             "i392"
+                                                             "i391"
+                                                             "i389"
+                                                             "i387"
+                                                             "i385"
+                                                             "i383"
+                                                             "i381"
+                                                             "i379"
+                                                             "i377"
+                                                             "i375"
+                                                             "i372"
+                                                             "i370"
+                                                             "i369"
+                                                             "i367"
+                                                             "i365"
+                                                             "i363"
+                                                             "i361"
+                                                             "i360"
+                                                             "i359"
+                                                             "i358"
+                                                             "i356"
+                                                             "i355"
+                                                             "i352"
+                                                             "i350"
+                                                             "i348"
+                                                             "i346"
+                                                             "i344"
+                                                             "i342"
+                                                             "i340"
+                                                             "i339"
+                                                             "i338"
+                                                             "i336"
+                                                             "i334"
+                                                             "i333"
+                                                             "i330"
+                                                             "i329"
+                                                             "i327"
+                                                             "i325"
+                                                             "i323"
+                                                             "i321"
+                                                             "i319"
+                                                             "i317"
+                                                             "i315"
+                                                             "i313"
+                                                             "i311"
+                                                             "i308"
+                                                             "i306"
+                                                             "i304"
+                                                             "i302"
+                                                             "i300"
+                                                             "i298"
+                                                             "i296"
+                                                             "i294"
+                                                             "i292"
+                                                             "i290"
+                                                             "i288"
+                                                             "i286"
+                                                             "i284"
+                                                             "i282"
+                                                             "i280"
+                                                             "i278"
+                                                             "i276"
+                                                             "i274"
+                                                             "i272"
+                                                             "i270"
+                                                             "i268"
+                                                             "i266"
+                                                             "i264"
+                                                             "i262"
+                                                             "i261"
+                                                             "i258"
+                                                             "i256"
+                                                             "i255"
+                                                             "i254"
+                                                             "i253"
+                                                             "i252"
+                                                             "i250"
+                                                             "i248"
+                                                             "i246"
+                                                             "i243"
+                                                             "i241"
+                                                             "i239"
+                                                             "i237"
+                                                             "i235"
+                                                             "i233"
+                                                             "i231"
+                                                             "i229"
+                                                             "i227"
+                                                             "i225"
+                                                             "i223"
+                                                             "i221"
+                                                             "i219"
+                                                             "i217"
+                                                             "i215"
+                                                             "i213"
+                                                             "i211"
+                                                             "i209"
+                                                             "i207"))
+                                                          #(ribcage
+                                                            (define-structure
+                                                              
define-expansion-accessors
+                                                              
define-expansion-constructors)
+                                                            ((top) (top) (top))
+                                                            ("i45"
+                                                             "i44"
+                                                             "i43")))
+                                                         (hygiene guile)))
+                                                     '(())
+                                                     #{s 1800}#
+                                                     #{mod 1802}#))
+                                                 #{tmp 1897}#)
+                                               (syntax-violation
+                                                 #f
+                                                 "source expression failed to 
match any pattern"
+                                                 #{e 1797}#)))))))
+                                   (if (memv #{ftype 1834}# '(define-syntax))
+                                     (let ((#{tmp 1905}#
+                                             ($sc-dispatch
+                                               #{e 1797}#
+                                               '(_ any any))))
+                                       (if (if #{tmp 1905}#
+                                             (@apply
+                                               (lambda (#{name 1908}#
+                                                        #{val 1909}#)
+                                                 (#{id? 353}# #{name 1908}#))
+                                               #{tmp 1905}#)
+                                             #f)
+                                         (@apply
+                                           (lambda (#{name 1912}# #{val 1913}#)
+                                             (values
+                                               'define-syntax-form
+                                               #{name 1912}#
+                                               #{val 1913}#
+                                               #{w 1799}#
+                                               #{s 1800}#
+                                               #{mod 1802}#))
+                                           #{tmp 1905}#)
+                                         (syntax-violation
+                                           #f
+                                           "source expression failed to match 
any pattern"
+                                           #{e 1797}#)))
+                                     (values
+                                       'call
+                                       #f
+                                       #{e 1797}#
+                                       #{w 1799}#
+                                       #{s 1800}#
+                                       #{mod 1802}#))))))))))))))
+           (if (#{syntax-object? 316}# #{e 1797}#)
+             (#{syntax-type 439}#
+               (#{syntax-object-expression 318}# #{e 1797}#)
+               #{r 1798}#
+               (#{join-wraps 409}#
+                 #{w 1799}#
+                 (#{syntax-object-wrap 320}# #{e 1797}#))
+               (let ((#{t 1919}#
+                       (#{source-annotation 331}# #{e 1797}#)))
+                 (if #{t 1919}# #{t 1919}# #{s 1800}#))
+               #{rib 1801}#
+               (let ((#{t 1923}#
+                       (#{syntax-object-module 322}# #{e 1797}#)))
+                 (if #{t 1923}# #{t 1923}# #{mod 1802}#))
+               #{for-car? 1803}#)
+             (if (self-evaluating? #{e 1797}#)
+               (values
+                 'constant
+                 #f
+                 #{e 1797}#
+                 #{w 1799}#
+                 #{s 1800}#
+                 #{mod 1802}#)
+               (values
+                 'other
+                 #f
+                 #{e 1797}#
+                 #{w 1799}#
+                 #{s 1800}#
+                 #{mod 1802}#)))))))
+   (#{chi 441}#
+     (lambda (#{e 1928}# #{r 1929}# #{w 1930}# #{mod 1931}#)
+       (call-with-values
+         (lambda ()
+           (#{syntax-type 439}#
+             #{e 1928}#
+             #{r 1929}#
+             #{w 1930}#
+             (#{source-annotation 331}# #{e 1928}#)
+             #f
+             #{mod 1931}#
+             #f))
+         (lambda (#{type 1936}#
+                  #{value 1937}#
+                  #{e 1938}#
+                  #{w 1939}#
+                  #{s 1940}#
+                  #{mod 1941}#)
+           (#{chi-expr 443}#
+             #{type 1936}#
+             #{value 1937}#
+             #{e 1938}#
+             #{r 1929}#
+             #{w 1939}#
+             #{s 1940}#
+             #{mod 1941}#)))))
+   (#{chi-expr 443}#
+     (lambda (#{type 1948}#
+              #{value 1949}#
+              #{e 1950}#
+              #{r 1951}#
+              #{w 1952}#
+              #{s 1953}#
+              #{mod 1954}#)
+       (if (memv #{type 1948}# '(lexical))
+         (#{build-lexical-reference 279}#
+           'value
+           #{s 1953}#
+           #{e 1950}#
+           #{value 1949}#)
+         (if (memv #{type 1948}# '(core core-form))
+           (#{value 1949}#
+             #{e 1950}#
+             #{r 1951}#
+             #{w 1952}#
+             #{s 1953}#
+             #{mod 1954}#)
+           (if (memv #{type 1948}# '(module-ref))
+             (call-with-values
+               (lambda ()
+                 (#{value 1949}# #{e 1950}# #{r 1951}# #{w 1952}#))
+               (lambda (#{e 1965}#
+                        #{r 1966}#
+                        #{w 1967}#
+                        #{s 1968}#
+                        #{mod 1969}#)
+                 (#{chi 441}#
+                   #{e 1965}#
+                   #{r 1966}#
+                   #{w 1967}#
+                   #{mod 1969}#)))
+             (if (memv #{type 1948}# '(lexical-call))
+               (#{chi-call 445}#
+                 (let ((#{id 1977}# (car #{e 1950}#)))
+                   (#{build-lexical-reference 279}#
+                     'fun
+                     (#{source-annotation 331}# #{id 1977}#)
+                     (if (#{syntax-object? 316}# #{id 1977}#)
+                       (syntax->datum #{id 1977}#)
+                       #{id 1977}#)
+                     #{value 1949}#))
+                 #{e 1950}#
+                 #{r 1951}#
+                 #{w 1952}#
+                 #{s 1953}#
+                 #{mod 1954}#)
+               (if (memv #{type 1948}# '(global-call))
+                 (#{chi-call 445}#
+                   (#{build-global-reference 285}#
+                     (#{source-annotation 331}# (car #{e 1950}#))
+                     (if (#{syntax-object? 316}# #{value 1949}#)
+                       (#{syntax-object-expression 318}# #{value 1949}#)
+                       #{value 1949}#)
+                     (if (#{syntax-object? 316}# #{value 1949}#)
+                       (#{syntax-object-module 322}# #{value 1949}#)
+                       #{mod 1954}#))
+                   #{e 1950}#
+                   #{r 1951}#
+                   #{w 1952}#
+                   #{s 1953}#
+                   #{mod 1954}#)
+                 (if (memv #{type 1948}# '(constant))
+                   (#{build-data 301}#
+                     #{s 1953}#
+                     (#{strip 467}#
+                       (#{source-wrap 429}#
+                         #{e 1950}#
+                         #{w 1952}#
+                         #{s 1953}#
+                         #{mod 1954}#)
+                       '(())))
+                   (if (memv #{type 1948}# '(global))
+                     (#{build-global-reference 285}#
+                       #{s 1953}#
+                       #{value 1949}#
+                       #{mod 1954}#)
+                     (if (memv #{type 1948}# '(call))
+                       (#{chi-call 445}#
+                         (#{chi 441}#
+                           (car #{e 1950}#)
+                           #{r 1951}#
+                           #{w 1952}#
+                           #{mod 1954}#)
+                         #{e 1950}#
+                         #{r 1951}#
+                         #{w 1952}#
+                         #{s 1953}#
+                         #{mod 1954}#)
+                       (if (memv #{type 1948}# '(begin-form))
+                         (let ((#{tmp 1985}#
+                                 ($sc-dispatch
+                                   #{e 1950}#
+                                   '(_ any . each-any))))
+                           (if #{tmp 1985}#
+                             (@apply
+                               (lambda (#{e1 1988}# #{e2 1989}#)
+                                 (#{chi-sequence 431}#
+                                   (cons #{e1 1988}# #{e2 1989}#)
+                                   #{r 1951}#
+                                   #{w 1952}#
+                                   #{s 1953}#
+                                   #{mod 1954}#))
+                               #{tmp 1985}#)
+                             (syntax-violation
+                               #f
+                               "source expression failed to match any pattern"
+                               #{e 1950}#)))
+                         (if (memv #{type 1948}# '(local-syntax-form))
+                           (#{chi-local-syntax 451}#
+                             #{value 1949}#
+                             #{e 1950}#
+                             #{r 1951}#
+                             #{w 1952}#
+                             #{s 1953}#
+                             #{mod 1954}#
+                             #{chi-sequence 431}#)
+                           (if (memv #{type 1948}# '(eval-when-form))
+                             (let ((#{tmp 1994}#
+                                     ($sc-dispatch
+                                       #{e 1950}#
+                                       '(_ each-any any . each-any))))
+                               (if #{tmp 1994}#
+                                 (@apply
+                                   (lambda (#{x 1998}# #{e1 1999}# #{e2 2000}#)
+                                     (let ((#{when-list 2002}#
+                                             (#{chi-when-list 437}#
+                                               #{e 1950}#
+                                               #{x 1998}#
+                                               #{w 1952}#)))
+                                       (if (memq 'eval #{when-list 2002}#)
+                                         (#{chi-sequence 431}#
+                                           (cons #{e1 1999}# #{e2 2000}#)
+                                           #{r 1951}#
+                                           #{w 1952}#
+                                           #{s 1953}#
+                                           #{mod 1954}#)
+                                         (#{chi-void 455}#))))
+                                   #{tmp 1994}#)
+                                 (syntax-violation
                                    #f
-                                   (list (syntax->datum #{pat 3921}#))
+                                   "source expression failed to match any 
pattern"
+                                   #{e 1950}#)))
+                             (if (memv #{type 1948}#
+                                       '(define-form define-syntax-form))
+                               (syntax-violation
+                                 #f
+                                 "definition in expression context"
+                                 #{e 1950}#
+                                 (#{wrap 427}#
+                                   #{value 1949}#
+                                   #{w 1952}#
+                                   #{mod 1954}#))
+                               (if (memv #{type 1948}# '(syntax))
+                                 (syntax-violation
                                    #f
-                                   (list #{var 3931}#)
-                                   '()
-                                   (#{chi 423}#
-                                     #{exp 3922}#
-                                     (#{extend-env 331}#
-                                       #{labels 3930}#
-                                       (list (cons 'syntax
-                                                   (cons #{var 3931}# 0)))
-                                       #{r 3907}#)
-                                     (#{make-binding-wrap 387}#
-                                       (list #{pat 3921}#)
-                                       #{labels 3930}#
-                                       '(()))
-                                     #{mod 3908}#))
-                                 (list #{x 3904}#))))
-                           (#{gen-clause 3721}#
-                             #{x 3904}#
-                             #{keys 3905}#
-                             (cdr #{clauses 3906}#)
-                             #{r 3907}#
-                             #{pat 3921}#
-                             #t
-                             #{exp 3922}#
-                             #{mod 3908}#)))
-                       #{tmp 3918}#)
-                     (let ((#{tmp 3937}#
-                             ($sc-dispatch #{tmp 3917}# '(any any any))))
-                       (if #{tmp 3937}#
-                         (@apply
-                           (lambda (#{pat 3941}# #{fender 3942}# #{exp 3943}#)
-                             (#{gen-clause 3721}#
-                               #{x 3904}#
-                               #{keys 3905}#
-                               (cdr #{clauses 3906}#)
-                               #{r 3907}#
-                               #{pat 3941}#
-                               #{fender 3942}#
-                               #{exp 3943}#
-                               #{mod 3908}#))
-                           #{tmp 3937}#)
-                         (let ((#{_ 3945}# #{tmp 3917}#))
-                           (syntax-violation
-                             'syntax-case
-                             "invalid clause"
-                             (car #{clauses 3906}#))))))))))))
-        (lambda (#{e 3946}#
-                 #{r 3947}#
-                 #{w 3948}#
-                 #{s 3949}#
-                 #{mod 3950}#)
-          (let ((#{e 3957}#
-                  (#{source-wrap 411}#
-                    #{e 3946}#
-                    #{w 3948}#
-                    #{s 3949}#
-                    #{mod 3950}#)))
-            (let ((#{tmp 3958}# #{e 3957}#))
-              (let ((#{tmp 3959}#
+                                   "reference to pattern variable outside 
syntax form"
+                                   (#{source-wrap 429}#
+                                     #{e 1950}#
+                                     #{w 1952}#
+                                     #{s 1953}#
+                                     #{mod 1954}#))
+                                 (if (memv #{type 1948}# '(displaced-lexical))
+                                   (syntax-violation
+                                     #f
+                                     "reference to identifier outside its 
scope"
+                                     (#{source-wrap 429}#
+                                       #{e 1950}#
+                                       #{w 1952}#
+                                       #{s 1953}#
+                                       #{mod 1954}#))
+                                   (syntax-violation
+                                     #f
+                                     "unexpected syntax"
+                                     (#{source-wrap 429}#
+                                       #{e 1950}#
+                                       #{w 1952}#
+                                       #{s 1953}#
+                                       #{mod 1954}#))))))))))))))))))
+   (#{chi-call 445}#
+     (lambda (#{x 2009}#
+              #{e 2010}#
+              #{r 2011}#
+              #{w 2012}#
+              #{s 2013}#
+              #{mod 2014}#)
+       (let ((#{tmp 2022}#
+               ($sc-dispatch #{e 2010}# '(any . each-any))))
+         (if #{tmp 2022}#
+           (@apply
+             (lambda (#{e0 2025}# #{e1 2026}#)
+               (#{build-call 273}#
+                 #{s 2013}#
+                 #{x 2009}#
+                 (map (lambda (#{e 2027}#)
+                        (#{chi 441}#
+                          #{e 2027}#
+                          #{r 2011}#
+                          #{w 2012}#
+                          #{mod 2014}#))
+                      #{e1 2026}#)))
+             #{tmp 2022}#)
+           (syntax-violation
+             #f
+             "source expression failed to match any pattern"
+             #{e 2010}#)))))
+   (#{chi-macro 447}#
+     (lambda (#{p 2030}#
+              #{e 2031}#
+              #{r 2032}#
+              #{w 2033}#
+              #{s 2034}#
+              #{rib 2035}#
+              #{mod 2036}#)
+       (letrec*
+         ((#{rebuild-macro-output 2045}#
+            (lambda (#{x 2046}# #{m 2047}#)
+              (if (pair? #{x 2046}#)
+                (#{decorate-source 267}#
+                  (cons (#{rebuild-macro-output 2045}#
+                          (car #{x 2046}#)
+                          #{m 2047}#)
+                        (#{rebuild-macro-output 2045}#
+                          (cdr #{x 2046}#)
+                          #{m 2047}#))
+                  #{s 2034}#)
+                (if (#{syntax-object? 316}# #{x 2046}#)
+                  (let ((#{w 2055}#
+                          (#{syntax-object-wrap 320}# #{x 2046}#)))
+                    (let ((#{ms 2058}# (car #{w 2055}#))
+                          (#{s 2059}# (cdr #{w 2055}#)))
+                      (if (if (pair? #{ms 2058}#)
+                            (eq? (car #{ms 2058}#) #f)
+                            #f)
+                        (#{make-syntax-object 314}#
+                          (#{syntax-object-expression 318}# #{x 2046}#)
+                          (cons (cdr #{ms 2058}#)
+                                (if #{rib 2035}#
+                                  (cons #{rib 2035}# (cdr #{s 2059}#))
+                                  (cdr #{s 2059}#)))
+                          (#{syntax-object-module 322}# #{x 2046}#))
+                        (#{make-syntax-object 314}#
+                          (#{decorate-source 267}#
+                            (#{syntax-object-expression 318}# #{x 2046}#)
+                            #{s 2059}#)
+                          (cons (cons #{m 2047}# #{ms 2058}#)
+                                (if #{rib 2035}#
+                                  (cons #{rib 2035}# (cons 'shift #{s 2059}#))
+                                  (cons 'shift #{s 2059}#)))
+                          (#{syntax-object-module 322}# #{x 2046}#)))))
+                  (if (vector? #{x 2046}#)
+                    (let ((#{n 2071}# (vector-length #{x 2046}#)))
+                      (let ((#{v 2073}#
+                              (#{decorate-source 267}#
+                                (make-vector #{n 2071}#)
+                                #{x 2046}#)))
+                        (letrec*
+                          ((#{loop 2076}#
+                             (lambda (#{i 2077}#)
+                               (if (= #{i 2077}# #{n 2071}#)
+                                 #{v 2073}#
+                                 (begin
+                                   (vector-set!
+                                     #{v 2073}#
+                                     #{i 2077}#
+                                     (#{rebuild-macro-output 2045}#
+                                       (vector-ref #{x 2046}# #{i 2077}#)
+                                       #{m 2047}#))
+                                   (#{loop 2076}# (#{1+}# #{i 2077}#)))))))
+                          (#{loop 2076}# 0))))
+                    (if (symbol? #{x 2046}#)
+                      (syntax-violation
+                        #f
+                        "encountered raw symbol in macro output"
+                        (#{source-wrap 429}#
+                          #{e 2031}#
+                          #{w 2033}#
+                          (cdr #{w 2033}#)
+                          #{mod 2036}#)
+                        #{x 2046}#)
+                      (#{decorate-source 267}# #{x 2046}# #{s 2034}#))))))))
+         (#{rebuild-macro-output 2045}#
+           (#{p 2030}#
+             (#{source-wrap 429}#
+               #{e 2031}#
+               (#{anti-mark 397}# #{w 2033}#)
+               #{s 2034}#
+               #{mod 2036}#))
+           (gensym "m")))))
+   (#{chi-body 449}#
+     (lambda (#{body 2087}#
+              #{outer-form 2088}#
+              #{r 2089}#
+              #{w 2090}#
+              #{mod 2091}#)
+       (let ((#{r 2099}#
+               (cons '("placeholder" placeholder) #{r 2089}#)))
+         (let ((#{ribcage 2101}#
+                 (#{make-ribcage 376}# '() '() '())))
+           (let ((#{w 2104}#
+                   (cons (car #{w 2090}#)
+                         (cons #{ribcage 2101}# (cdr #{w 2090}#)))))
+             (letrec*
+               ((#{parse 2116}#
+                  (lambda (#{body 2117}#
+                           #{ids 2118}#
+                           #{labels 2119}#
+                           #{var-ids 2120}#
+                           #{vars 2121}#
+                           #{vals 2122}#
+                           #{bindings 2123}#)
+                    (if (null? #{body 2117}#)
+                      (syntax-violation
+                        #f
+                        "no expressions in body"
+                        #{outer-form 2088}#)
+                      (let ((#{e 2128}# (cdr (car #{body 2117}#)))
+                            (#{er 2129}# (car (car #{body 2117}#))))
+                        (call-with-values
+                          (lambda ()
+                            (#{syntax-type 439}#
+                              #{e 2128}#
+                              #{er 2129}#
+                              '(())
+                              (#{source-annotation 331}# #{er 2129}#)
+                              #{ribcage 2101}#
+                              #{mod 2091}#
+                              #f))
+                          (lambda (#{type 2131}#
+                                   #{value 2132}#
+                                   #{e 2133}#
+                                   #{w 2134}#
+                                   #{s 2135}#
+                                   #{mod 2136}#)
+                            (if (memv #{type 2131}# '(define-form))
+                              (let ((#{id 2146}#
+                                      (#{wrap 427}#
+                                        #{value 2132}#
+                                        #{w 2134}#
+                                        #{mod 2136}#))
+                                    (#{label 2147}# (#{gen-label 371}#)))
+                                (let ((#{var 2149}#
+                                        (#{gen-var 469}# #{id 2146}#)))
+                                  (begin
+                                    (#{extend-ribcage! 403}#
+                                      #{ribcage 2101}#
+                                      #{id 2146}#
+                                      #{label 2147}#)
+                                    (#{parse 2116}#
+                                      (cdr #{body 2117}#)
+                                      (cons #{id 2146}# #{ids 2118}#)
+                                      (cons #{label 2147}# #{labels 2119}#)
+                                      (cons #{id 2146}# #{var-ids 2120}#)
+                                      (cons #{var 2149}# #{vars 2121}#)
+                                      (cons (cons #{er 2129}#
+                                                  (#{wrap 427}#
+                                                    #{e 2133}#
+                                                    #{w 2134}#
+                                                    #{mod 2136}#))
+                                            #{vals 2122}#)
+                                      (cons (cons 'lexical #{var 2149}#)
+                                            #{bindings 2123}#)))))
+                              (if (memv #{type 2131}# '(define-syntax-form))
+                                (let ((#{id 2154}#
+                                        (#{wrap 427}#
+                                          #{value 2132}#
+                                          #{w 2134}#
+                                          #{mod 2136}#))
+                                      (#{label 2155}# (#{gen-label 371}#)))
+                                  (begin
+                                    (#{extend-ribcage! 403}#
+                                      #{ribcage 2101}#
+                                      #{id 2154}#
+                                      #{label 2155}#)
+                                    (#{parse 2116}#
+                                      (cdr #{body 2117}#)
+                                      (cons #{id 2154}# #{ids 2118}#)
+                                      (cons #{label 2155}# #{labels 2119}#)
+                                      #{var-ids 2120}#
+                                      #{vars 2121}#
+                                      #{vals 2122}#
+                                      (cons (cons 'macro
+                                                  (cons #{er 2129}#
+                                                        (#{wrap 427}#
+                                                          #{e 2133}#
+                                                          #{w 2134}#
+                                                          #{mod 2136}#)))
+                                            #{bindings 2123}#))))
+                                (if (memv #{type 2131}# '(begin-form))
+                                  (let ((#{tmp 2159}#
+                                          ($sc-dispatch
+                                            #{e 2133}#
+                                            '(_ . each-any))))
+                                    (if #{tmp 2159}#
+                                      (@apply
+                                        (lambda (#{e1 2161}#)
+                                          (#{parse 2116}#
+                                            (letrec*
+                                              ((#{f 2164}#
+                                                 (lambda (#{forms 2165}#)
+                                                   (if (null? #{forms 2165}#)
+                                                     (cdr #{body 2117}#)
+                                                     (cons (cons #{er 2129}#
+                                                                 (#{wrap 427}#
+                                                                   (car 
#{forms 2165}#)
+                                                                   #{w 2134}#
+                                                                   #{mod 
2136}#))
+                                                           (#{f 2164}#
+                                                             (cdr #{forms 
2165}#)))))))
+                                              (#{f 2164}# #{e1 2161}#))
+                                            #{ids 2118}#
+                                            #{labels 2119}#
+                                            #{var-ids 2120}#
+                                            #{vars 2121}#
+                                            #{vals 2122}#
+                                            #{bindings 2123}#))
+                                        #{tmp 2159}#)
+                                      (syntax-violation
+                                        #f
+                                        "source expression failed to match any 
pattern"
+                                        #{e 2133}#)))
+                                  (if (memv #{type 2131}# '(local-syntax-form))
+                                    (#{chi-local-syntax 451}#
+                                      #{value 2132}#
+                                      #{e 2133}#
+                                      #{er 2129}#
+                                      #{w 2134}#
+                                      #{s 2135}#
+                                      #{mod 2136}#
+                                      (lambda (#{forms 2168}#
+                                               #{er 2169}#
+                                               #{w 2170}#
+                                               #{s 2171}#
+                                               #{mod 2172}#)
+                                        (#{parse 2116}#
+                                          (letrec*
+                                            ((#{f 2180}#
+                                               (lambda (#{forms 2181}#)
+                                                 (if (null? #{forms 2181}#)
+                                                   (cdr #{body 2117}#)
+                                                   (cons (cons #{er 2169}#
+                                                               (#{wrap 427}#
+                                                                 (car #{forms 
2181}#)
+                                                                 #{w 2170}#
+                                                                 #{mod 2172}#))
+                                                         (#{f 2180}#
+                                                           (cdr #{forms 
2181}#)))))))
+                                            (#{f 2180}# #{forms 2168}#))
+                                          #{ids 2118}#
+                                          #{labels 2119}#
+                                          #{var-ids 2120}#
+                                          #{vars 2121}#
+                                          #{vals 2122}#
+                                          #{bindings 2123}#)))
+                                    (if (null? #{ids 2118}#)
+                                      (#{build-sequence 303}#
+                                        #f
+                                        (map (lambda (#{x 2184}#)
+                                               (#{chi 441}#
+                                                 (cdr #{x 2184}#)
+                                                 (car #{x 2184}#)
+                                                 '(())
+                                                 #{mod 2136}#))
+                                             (cons (cons #{er 2129}#
+                                                         (#{source-wrap 429}#
+                                                           #{e 2133}#
+                                                           #{w 2134}#
+                                                           #{s 2135}#
+                                                           #{mod 2136}#))
+                                                   (cdr #{body 2117}#))))
+                                      (begin
+                                        (if (not (#{valid-bound-ids? 421}#
+                                                   #{ids 2118}#))
+                                          (syntax-violation
+                                            #f
+                                            "invalid or duplicate identifier 
in definition"
+                                            #{outer-form 2088}#))
+                                        (letrec*
+                                          ((#{loop 2191}#
+                                             (lambda (#{bs 2192}#
+                                                      #{er-cache 2193}#
+                                                      #{r-cache 2194}#)
+                                               (if (not (null? #{bs 2192}#))
+                                                 (let ((#{b 2197}#
+                                                         (car #{bs 2192}#)))
+                                                   (if (eq? (car #{b 2197}#)
+                                                            'macro)
+                                                     (let ((#{er 2200}#
+                                                             (car (cdr #{b 
2197}#))))
+                                                       (let ((#{r-cache 2202}#
+                                                               (if (eq? #{er 
2200}#
+                                                                        
#{er-cache 2193}#)
+                                                                 #{r-cache 
2194}#
+                                                                 
(#{macros-only-env 345}#
+                                                                   #{er 
2200}#))))
+                                                         (begin
+                                                           (set-cdr!
+                                                             #{b 2197}#
+                                                             
(#{eval-local-transformer 453}#
+                                                               (#{chi 441}#
+                                                                 (cdr (cdr #{b 
2197}#))
+                                                                 #{r-cache 
2202}#
+                                                                 '(())
+                                                                 #{mod 2136}#)
+                                                               #{mod 2136}#))
+                                                           (#{loop 2191}#
+                                                             (cdr #{bs 2192}#)
+                                                             #{er 2200}#
+                                                             #{r-cache 
2202}#))))
+                                                     (#{loop 2191}#
+                                                       (cdr #{bs 2192}#)
+                                                       #{er-cache 2193}#
+                                                       #{r-cache 2194}#)))))))
+                                          (#{loop 2191}#
+                                            #{bindings 2123}#
+                                            #f
+                                            #f))
+                                        (set-cdr!
+                                          #{r 2099}#
+                                          (#{extend-env 341}#
+                                            #{labels 2119}#
+                                            #{bindings 2123}#
+                                            (cdr #{r 2099}#)))
+                                        (#{build-letrec 309}#
+                                          #f
+                                          #t
+                                          (reverse
+                                            (map syntax->datum
+                                                 #{var-ids 2120}#))
+                                          (reverse #{vars 2121}#)
+                                          (map (lambda (#{x 2205}#)
+                                                 (#{chi 441}#
+                                                   (cdr #{x 2205}#)
+                                                   (car #{x 2205}#)
+                                                   '(())
+                                                   #{mod 2136}#))
+                                               (reverse #{vals 2122}#))
+                                          (#{build-sequence 303}#
+                                            #f
+                                            (map (lambda (#{x 2209}#)
+                                                   (#{chi 441}#
+                                                     (cdr #{x 2209}#)
+                                                     (car #{x 2209}#)
+                                                     '(())
+                                                     #{mod 2136}#))
+                                                 (cons (cons #{er 2129}#
+                                                             (#{source-wrap 
429}#
+                                                               #{e 2133}#
+                                                               #{w 2134}#
+                                                               #{s 2135}#
+                                                               #{mod 2136}#))
+                                                       (cdr #{body 
2117}#))))))))))))))))))
+               (#{parse 2116}#
+                 (map (lambda (#{x 2124}#)
+                        (cons #{r 2099}#
+                              (#{wrap 427}#
+                                #{x 2124}#
+                                #{w 2104}#
+                                #{mod 2091}#)))
+                      #{body 2087}#)
+                 '()
+                 '()
+                 '()
+                 '()
+                 '()
+                 '())))))))
+   (#{chi-local-syntax 451}#
+     (lambda (#{rec? 2212}#
+              #{e 2213}#
+              #{r 2214}#
+              #{w 2215}#
+              #{s 2216}#
+              #{mod 2217}#
+              #{k 2218}#)
+       (let ((#{tmp 2227}#
+               ($sc-dispatch
+                 #{e 2213}#
+                 '(_ #(each (any any)) any . each-any))))
+         (if #{tmp 2227}#
+           (@apply
+             (lambda (#{id 2232}#
+                      #{val 2233}#
+                      #{e1 2234}#
+                      #{e2 2235}#)
+               (if (not (#{valid-bound-ids? 421}# #{id 2232}#))
+                 (syntax-violation
+                   #f
+                   "duplicate bound keyword"
+                   #{e 2213}#)
+                 (let ((#{labels 2240}#
+                         (#{gen-labels 373}# #{id 2232}#)))
+                   (let ((#{new-w 2242}#
+                           (#{make-binding-wrap 405}#
+                             #{id 2232}#
+                             #{labels 2240}#
+                             #{w 2215}#)))
+                     (#{k 2218}#
+                       (cons #{e1 2234}# #{e2 2235}#)
+                       (#{extend-env 341}#
+                         #{labels 2240}#
+                         (let ((#{trans-r 2247}#
+                                 (#{macros-only-env 345}# #{r 2214}#)))
+                           (begin
+                             (if #{rec? 2212}# (if #f #f))
+                             (map (lambda (#{x 2248}#)
+                                    (cons 'macro
+                                          (#{eval-local-transformer 453}#
+                                            (#{chi 441}#
+                                              #{x 2248}#
+                                              #{trans-r 2247}#
+                                              (if #{rec? 2212}#
+                                                #{new-w 2242}#
+                                                #{w 2215}#)
+                                              #{mod 2217}#)
+                                            #{mod 2217}#)))
+                                  #{val 2233}#)))
+                         #{r 2214}#)
+                       #{new-w 2242}#
+                       #{s 2216}#
+                       #{mod 2217}#)))))
+             #{tmp 2227}#)
+           (syntax-violation
+             #f
+             "bad local syntax definition"
+             (#{source-wrap 429}#
+               #{e 2213}#
+               #{w 2215}#
+               #{s 2216}#
+               #{mod 2217}#))))))
+   (#{eval-local-transformer 453}#
+     (lambda (#{expanded 2254}# #{mod 2255}#)
+       (let ((#{p 2259}#
+               (#{local-eval-hook 259}#
+                 #{expanded 2254}#
+                 #{mod 2255}#)))
+         (if (procedure? #{p 2259}#)
+           #{p 2259}#
+           (syntax-violation
+             #f
+             "nonprocedure transformer"
+             #{p 2259}#)))))
+   (#{chi-void 455}#
+     (lambda () (#{build-void 271}# #f)))
+   (#{ellipsis? 457}#
+     (lambda (#{x 2261}#)
+       (if (#{nonsymbol-id? 351}# #{x 2261}#)
+         (#{free-id=? 417}#
+           #{x 2261}#
+           '#(syntax-object
+              ...
+              ((top)
+               #(ribcage () () ())
+               #(ribcage () () ())
+               #(ribcage #(x) #((top)) #("i2262"))
+               #(ribcage
+                 (lambda-var-list
+                   gen-var
+                   strip
+                   chi-lambda-case
+                   lambda*-formals
+                   chi-simple-lambda
+                   lambda-formals
+                   ellipsis?
+                   chi-void
+                   eval-local-transformer
+                   chi-local-syntax
+                   chi-body
+                   chi-macro
+                   chi-call
+                   chi-expr
+                   chi
+                   syntax-type
+                   chi-when-list
+                   chi-install-global
+                   chi-top-sequence
+                   chi-sequence
+                   source-wrap
+                   wrap
+                   bound-id-member?
+                   distinct-bound-ids?
+                   valid-bound-ids?
+                   bound-id=?
+                   free-id=?
+                   id-var-name
+                   same-marks?
+                   join-marks
+                   join-wraps
+                   smart-append
+                   make-binding-wrap
+                   extend-ribcage!
+                   make-empty-ribcage
+                   new-mark
+                   anti-mark
+                   the-anti-mark
+                   top-marked?
+                   top-wrap
+                   empty-wrap
+                   set-ribcage-labels!
+                   set-ribcage-marks!
+                   set-ribcage-symnames!
+                   ribcage-labels
+                   ribcage-marks
+                   ribcage-symnames
+                   ribcage?
+                   make-ribcage
+                   gen-labels
+                   gen-label
+                   make-rename
+                   rename-marks
+                   rename-new
+                   rename-old
+                   subst-rename?
+                   wrap-subst
+                   wrap-marks
+                   make-wrap
+                   id-sym-name&marks
+                   id-sym-name
+                   id?
+                   nonsymbol-id?
+                   global-extend
+                   lookup
+                   macros-only-env
+                   extend-var-env
+                   extend-env
+                   null-env
+                   binding-value
+                   binding-type
+                   make-binding
+                   arg-check
+                   source-annotation
+                   no-source
+                   set-syntax-object-module!
+                   set-syntax-object-wrap!
+                   set-syntax-object-expression!
+                   syntax-object-module
+                   syntax-object-wrap
+                   syntax-object-expression
+                   syntax-object?
+                   make-syntax-object
+                   build-lexical-var
+                   build-letrec
+                   build-named-let
+                   build-let
+                   build-sequence
+                   build-data
+                   build-primref
+                   build-primcall
+                   build-lambda-case
+                   build-case-lambda
+                   build-simple-lambda
+                   build-global-definition
+                   build-global-assignment
+                   build-global-reference
+                   analyze-variable
+                   build-lexical-assignment
+                   build-lexical-reference
+                   build-dynlet
+                   build-conditional
+                   build-call
+                   build-void
+                   maybe-name-value!
+                   decorate-source
+                   get-global-definition-hook
+                   put-global-definition-hook
+                   gensym-hook
+                   local-eval-hook
+                   top-level-eval-hook
+                   fx<
+                   fx=
+                   fx-
+                   fx+
+                   set-lambda-meta!
+                   lambda-meta
+                   lambda?
+                   make-dynlet
+                   make-letrec
+                   make-let
+                   make-lambda-case
+                   make-lambda
+                   make-seq
+                   make-primcall
+                   make-call
+                   make-conditional
+                   make-toplevel-define
+                   make-toplevel-set
+                   make-toplevel-ref
+                   make-module-set
+                   make-module-ref
+                   make-lexical-set
+                   make-lexical-ref
+                   make-primitive-ref
+                   make-const
+                   make-void)
+                 ((top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top))
+                 ("i470"
+                  "i468"
+                  "i466"
+                  "i464"
+                  "i462"
+                  "i460"
+                  "i458"
+                  "i456"
+                  "i454"
+                  "i452"
+                  "i450"
+                  "i448"
+                  "i446"
+                  "i444"
+                  "i442"
+                  "i440"
+                  "i438"
+                  "i436"
+                  "i434"
+                  "i432"
+                  "i430"
+                  "i428"
+                  "i426"
+                  "i424"
+                  "i422"
+                  "i420"
+                  "i418"
+                  "i416"
+                  "i414"
+                  "i412"
+                  "i410"
+                  "i408"
+                  "i406"
+                  "i404"
+                  "i402"
+                  "i401"
+                  "i399"
+                  "i396"
+                  "i395"
+                  "i394"
+                  "i392"
+                  "i391"
+                  "i389"
+                  "i387"
+                  "i385"
+                  "i383"
+                  "i381"
+                  "i379"
+                  "i377"
+                  "i375"
+                  "i372"
+                  "i370"
+                  "i369"
+                  "i367"
+                  "i365"
+                  "i363"
+                  "i361"
+                  "i360"
+                  "i359"
+                  "i358"
+                  "i356"
+                  "i355"
+                  "i352"
+                  "i350"
+                  "i348"
+                  "i346"
+                  "i344"
+                  "i342"
+                  "i340"
+                  "i339"
+                  "i338"
+                  "i336"
+                  "i334"
+                  "i333"
+                  "i330"
+                  "i329"
+                  "i327"
+                  "i325"
+                  "i323"
+                  "i321"
+                  "i319"
+                  "i317"
+                  "i315"
+                  "i313"
+                  "i311"
+                  "i308"
+                  "i306"
+                  "i304"
+                  "i302"
+                  "i300"
+                  "i298"
+                  "i296"
+                  "i294"
+                  "i292"
+                  "i290"
+                  "i288"
+                  "i286"
+                  "i284"
+                  "i282"
+                  "i280"
+                  "i278"
+                  "i276"
+                  "i274"
+                  "i272"
+                  "i270"
+                  "i268"
+                  "i266"
+                  "i264"
+                  "i262"
+                  "i261"
+                  "i258"
+                  "i256"
+                  "i255"
+                  "i254"
+                  "i253"
+                  "i252"
+                  "i250"
+                  "i248"
+                  "i246"
+                  "i243"
+                  "i241"
+                  "i239"
+                  "i237"
+                  "i235"
+                  "i233"
+                  "i231"
+                  "i229"
+                  "i227"
+                  "i225"
+                  "i223"
+                  "i221"
+                  "i219"
+                  "i217"
+                  "i215"
+                  "i213"
+                  "i211"
+                  "i209"
+                  "i207"))
+               #(ribcage
+                 (define-structure
+                   define-expansion-accessors
+                   define-expansion-constructors)
+                 ((top) (top) (top))
+                 ("i45" "i44" "i43")))
+              (hygiene guile)))
+         #f)))
+   (#{lambda-formals 459}#
+     (lambda (#{orig-args 2265}#)
+       (letrec*
+         ((#{req 2268}#
+            (lambda (#{args 2271}# #{rreq 2272}#)
+              (let ((#{tmp 2276}# ($sc-dispatch #{args 2271}# '())))
+                (if #{tmp 2276}#
+                  (@apply
+                    (lambda ()
+                      (#{check 2270}# (reverse #{rreq 2272}#) #f))
+                    #{tmp 2276}#)
+                  (let ((#{tmp 2277}#
+                          ($sc-dispatch #{args 2271}# '(any . any))))
+                    (if (if #{tmp 2277}#
+                          (@apply
+                            (lambda (#{a 2280}# #{b 2281}#)
+                              (#{id? 353}# #{a 2280}#))
+                            #{tmp 2277}#)
+                          #f)
+                      (@apply
+                        (lambda (#{a 2284}# #{b 2285}#)
+                          (#{req 2268}#
+                            #{b 2285}#
+                            (cons #{a 2284}# #{rreq 2272}#)))
+                        #{tmp 2277}#)
+                      (let ((#{tmp 2286}# (list #{args 2271}#)))
+                        (if (if #{tmp 2286}#
+                              (@apply
+                                (lambda (#{r 2288}#) (#{id? 353}# #{r 2288}#))
+                                #{tmp 2286}#)
+                              #f)
+                          (@apply
+                            (lambda (#{r 2290}#)
+                              (#{check 2270}#
+                                (reverse #{rreq 2272}#)
+                                #{r 2290}#))
+                            #{tmp 2286}#)
+                          (syntax-violation
+                            'lambda
+                            "invalid argument list"
+                            #{orig-args 2265}#
+                            #{args 2271}#)))))))))
+          (#{check 2270}#
+            (lambda (#{req 2293}# #{rest 2294}#)
+              (if (#{distinct-bound-ids? 423}#
+                    (if #{rest 2294}#
+                      (cons #{rest 2294}# #{req 2293}#)
+                      #{req 2293}#))
+                (values #{req 2293}# #f #{rest 2294}# #f)
+                (syntax-violation
+                  'lambda
+                  "duplicate identifier in argument list"
+                  #{orig-args 2265}#)))))
+         (#{req 2268}# #{orig-args 2265}# '()))))
+   (#{lambda*-formals 463}#
+     (lambda (#{orig-args 2327}#)
+       (letrec*
+         ((#{req 2330}#
+            (lambda (#{args 2339}# #{rreq 2340}#)
+              (let ((#{tmp 2344}# ($sc-dispatch #{args 2339}# '())))
+                (if #{tmp 2344}#
+                  (@apply
+                    (lambda ()
+                      (#{check 2338}#
+                        (reverse #{rreq 2340}#)
+                        '()
+                        #f
+                        '()))
+                    #{tmp 2344}#)
+                  (let ((#{tmp 2345}#
+                          ($sc-dispatch #{args 2339}# '(any . any))))
+                    (if (if #{tmp 2345}#
+                          (@apply
+                            (lambda (#{a 2348}# #{b 2349}#)
+                              (#{id? 353}# #{a 2348}#))
+                            #{tmp 2345}#)
+                          #f)
+                      (@apply
+                        (lambda (#{a 2352}# #{b 2353}#)
+                          (#{req 2330}#
+                            #{b 2353}#
+                            (cons #{a 2352}# #{rreq 2340}#)))
+                        #{tmp 2345}#)
+                      (let ((#{tmp 2354}#
+                              ($sc-dispatch #{args 2339}# '(any . any))))
+                        (if (if #{tmp 2354}#
+                              (@apply
+                                (lambda (#{a 2357}# #{b 2358}#)
+                                  (eq? (syntax->datum #{a 2357}#) #:optional))
+                                #{tmp 2354}#)
+                              #f)
+                          (@apply
+                            (lambda (#{a 2361}# #{b 2362}#)
+                              (#{opt 2332}#
+                                #{b 2362}#
+                                (reverse #{rreq 2340}#)
+                                '()))
+                            #{tmp 2354}#)
+                          (let ((#{tmp 2363}#
+                                  ($sc-dispatch #{args 2339}# '(any . any))))
+                            (if (if #{tmp 2363}#
+                                  (@apply
+                                    (lambda (#{a 2366}# #{b 2367}#)
+                                      (eq? (syntax->datum #{a 2366}#) #:key))
+                                    #{tmp 2363}#)
+                                  #f)
+                              (@apply
+                                (lambda (#{a 2370}# #{b 2371}#)
+                                  (#{key 2334}#
+                                    #{b 2371}#
+                                    (reverse #{rreq 2340}#)
+                                    '()
+                                    '()))
+                                #{tmp 2363}#)
+                              (let ((#{tmp 2372}#
+                                      ($sc-dispatch #{args 2339}# '(any any))))
+                                (if (if #{tmp 2372}#
+                                      (@apply
+                                        (lambda (#{a 2375}# #{b 2376}#)
+                                          (eq? (syntax->datum #{a 2375}#)
+                                               #:rest))
+                                        #{tmp 2372}#)
+                                      #f)
+                                  (@apply
+                                    (lambda (#{a 2379}# #{b 2380}#)
+                                      (#{rest 2336}#
+                                        #{b 2380}#
+                                        (reverse #{rreq 2340}#)
+                                        '()
+                                        '()))
+                                    #{tmp 2372}#)
+                                  (let ((#{tmp 2381}# (list #{args 2339}#)))
+                                    (if (if #{tmp 2381}#
+                                          (@apply
+                                            (lambda (#{r 2383}#)
+                                              (#{id? 353}# #{r 2383}#))
+                                            #{tmp 2381}#)
+                                          #f)
+                                      (@apply
+                                        (lambda (#{r 2385}#)
+                                          (#{rest 2336}#
+                                            #{r 2385}#
+                                            (reverse #{rreq 2340}#)
+                                            '()
+                                            '()))
+                                        #{tmp 2381}#)
+                                      (syntax-violation
+                                        'lambda*
+                                        "invalid argument list"
+                                        #{orig-args 2327}#
+                                        #{args 2339}#)))))))))))))))
+          (#{opt 2332}#
+            (lambda (#{args 2388}# #{req 2389}# #{ropt 2390}#)
+              (let ((#{tmp 2395}# ($sc-dispatch #{args 2388}# '())))
+                (if #{tmp 2395}#
+                  (@apply
+                    (lambda ()
+                      (#{check 2338}#
+                        #{req 2389}#
+                        (reverse #{ropt 2390}#)
+                        #f
+                        '()))
+                    #{tmp 2395}#)
+                  (let ((#{tmp 2396}#
+                          ($sc-dispatch #{args 2388}# '(any . any))))
+                    (if (if #{tmp 2396}#
+                          (@apply
+                            (lambda (#{a 2399}# #{b 2400}#)
+                              (#{id? 353}# #{a 2399}#))
+                            #{tmp 2396}#)
+                          #f)
+                      (@apply
+                        (lambda (#{a 2403}# #{b 2404}#)
+                          (#{opt 2332}#
+                            #{b 2404}#
+                            #{req 2389}#
+                            (cons (cons #{a 2403}#
+                                        '(#(syntax-object
+                                            #f
+                                            ((top)
+                                             #(ribcage
+                                               #(a b)
+                                               #((top) (top))
+                                               #("i2401" "i2402"))
+                                             #(ribcage () () ())
+                                             #(ribcage
+                                               #(args req ropt)
+                                               #((top) (top) (top))
+                                               #("i2391" "i2392" "i2393"))
+                                             #(ribcage
+                                               (check rest key opt req)
+                                               ((top) (top) (top) (top) (top))
+                                               ("i2337"
+                                                "i2335"
+                                                "i2333"
+                                                "i2331"
+                                                "i2329"))
+                                             #(ribcage
+                                               #(orig-args)
+                                               #((top))
+                                               #("i2328"))
+                                             #(ribcage
+                                               (lambda-var-list
+                                                 gen-var
+                                                 strip
+                                                 chi-lambda-case
+                                                 lambda*-formals
+                                                 chi-simple-lambda
+                                                 lambda-formals
+                                                 ellipsis?
+                                                 chi-void
+                                                 eval-local-transformer
+                                                 chi-local-syntax
+                                                 chi-body
+                                                 chi-macro
+                                                 chi-call
+                                                 chi-expr
+                                                 chi
+                                                 syntax-type
+                                                 chi-when-list
+                                                 chi-install-global
+                                                 chi-top-sequence
+                                                 chi-sequence
+                                                 source-wrap
+                                                 wrap
+                                                 bound-id-member?
+                                                 distinct-bound-ids?
+                                                 valid-bound-ids?
+                                                 bound-id=?
+                                                 free-id=?
+                                                 id-var-name
+                                                 same-marks?
+                                                 join-marks
+                                                 join-wraps
+                                                 smart-append
+                                                 make-binding-wrap
+                                                 extend-ribcage!
+                                                 make-empty-ribcage
+                                                 new-mark
+                                                 anti-mark
+                                                 the-anti-mark
+                                                 top-marked?
+                                                 top-wrap
+                                                 empty-wrap
+                                                 set-ribcage-labels!
+                                                 set-ribcage-marks!
+                                                 set-ribcage-symnames!
+                                                 ribcage-labels
+                                                 ribcage-marks
+                                                 ribcage-symnames
+                                                 ribcage?
+                                                 make-ribcage
+                                                 gen-labels
+                                                 gen-label
+                                                 make-rename
+                                                 rename-marks
+                                                 rename-new
+                                                 rename-old
+                                                 subst-rename?
+                                                 wrap-subst
+                                                 wrap-marks
+                                                 make-wrap
+                                                 id-sym-name&marks
+                                                 id-sym-name
+                                                 id?
+                                                 nonsymbol-id?
+                                                 global-extend
+                                                 lookup
+                                                 macros-only-env
+                                                 extend-var-env
+                                                 extend-env
+                                                 null-env
+                                                 binding-value
+                                                 binding-type
+                                                 make-binding
+                                                 arg-check
+                                                 source-annotation
+                                                 no-source
+                                                 set-syntax-object-module!
+                                                 set-syntax-object-wrap!
+                                                 set-syntax-object-expression!
+                                                 syntax-object-module
+                                                 syntax-object-wrap
+                                                 syntax-object-expression
+                                                 syntax-object?
+                                                 make-syntax-object
+                                                 build-lexical-var
+                                                 build-letrec
+                                                 build-named-let
+                                                 build-let
+                                                 build-sequence
+                                                 build-data
+                                                 build-primref
+                                                 build-primcall
+                                                 build-lambda-case
+                                                 build-case-lambda
+                                                 build-simple-lambda
+                                                 build-global-definition
+                                                 build-global-assignment
+                                                 build-global-reference
+                                                 analyze-variable
+                                                 build-lexical-assignment
+                                                 build-lexical-reference
+                                                 build-dynlet
+                                                 build-conditional
+                                                 build-call
+                                                 build-void
+                                                 maybe-name-value!
+                                                 decorate-source
+                                                 get-global-definition-hook
+                                                 put-global-definition-hook
+                                                 gensym-hook
+                                                 local-eval-hook
+                                                 top-level-eval-hook
+                                                 fx<
+                                                 fx=
+                                                 fx-
+                                                 fx+
+                                                 set-lambda-meta!
+                                                 lambda-meta
+                                                 lambda?
+                                                 make-dynlet
+                                                 make-letrec
+                                                 make-let
+                                                 make-lambda-case
+                                                 make-lambda
+                                                 make-seq
+                                                 make-primcall
+                                                 make-call
+                                                 make-conditional
+                                                 make-toplevel-define
+                                                 make-toplevel-set
+                                                 make-toplevel-ref
+                                                 make-module-set
+                                                 make-module-ref
+                                                 make-lexical-set
+                                                 make-lexical-ref
+                                                 make-primitive-ref
+                                                 make-const
+                                                 make-void)
+                                               ((top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top))
+                                               ("i470"
+                                                "i468"
+                                                "i466"
+                                                "i464"
+                                                "i462"
+                                                "i460"
+                                                "i458"
+                                                "i456"
+                                                "i454"
+                                                "i452"
+                                                "i450"
+                                                "i448"
+                                                "i446"
+                                                "i444"
+                                                "i442"
+                                                "i440"
+                                                "i438"
+                                                "i436"
+                                                "i434"
+                                                "i432"
+                                                "i430"
+                                                "i428"
+                                                "i426"
+                                                "i424"
+                                                "i422"
+                                                "i420"
+                                                "i418"
+                                                "i416"
+                                                "i414"
+                                                "i412"
+                                                "i410"
+                                                "i408"
+                                                "i406"
+                                                "i404"
+                                                "i402"
+                                                "i401"
+                                                "i399"
+                                                "i396"
+                                                "i395"
+                                                "i394"
+                                                "i392"
+                                                "i391"
+                                                "i389"
+                                                "i387"
+                                                "i385"
+                                                "i383"
+                                                "i381"
+                                                "i379"
+                                                "i377"
+                                                "i375"
+                                                "i372"
+                                                "i370"
+                                                "i369"
+                                                "i367"
+                                                "i365"
+                                                "i363"
+                                                "i361"
+                                                "i360"
+                                                "i359"
+                                                "i358"
+                                                "i356"
+                                                "i355"
+                                                "i352"
+                                                "i350"
+                                                "i348"
+                                                "i346"
+                                                "i344"
+                                                "i342"
+                                                "i340"
+                                                "i339"
+                                                "i338"
+                                                "i336"
+                                                "i334"
+                                                "i333"
+                                                "i330"
+                                                "i329"
+                                                "i327"
+                                                "i325"
+                                                "i323"
+                                                "i321"
+                                                "i319"
+                                                "i317"
+                                                "i315"
+                                                "i313"
+                                                "i311"
+                                                "i308"
+                                                "i306"
+                                                "i304"
+                                                "i302"
+                                                "i300"
+                                                "i298"
+                                                "i296"
+                                                "i294"
+                                                "i292"
+                                                "i290"
+                                                "i288"
+                                                "i286"
+                                                "i284"
+                                                "i282"
+                                                "i280"
+                                                "i278"
+                                                "i276"
+                                                "i274"
+                                                "i272"
+                                                "i270"
+                                                "i268"
+                                                "i266"
+                                                "i264"
+                                                "i262"
+                                                "i261"
+                                                "i258"
+                                                "i256"
+                                                "i255"
+                                                "i254"
+                                                "i253"
+                                                "i252"
+                                                "i250"
+                                                "i248"
+                                                "i246"
+                                                "i243"
+                                                "i241"
+                                                "i239"
+                                                "i237"
+                                                "i235"
+                                                "i233"
+                                                "i231"
+                                                "i229"
+                                                "i227"
+                                                "i225"
+                                                "i223"
+                                                "i221"
+                                                "i219"
+                                                "i217"
+                                                "i215"
+                                                "i213"
+                                                "i211"
+                                                "i209"
+                                                "i207"))
+                                             #(ribcage
+                                               (define-structure
+                                                 define-expansion-accessors
+                                                 define-expansion-constructors)
+                                               ((top) (top) (top))
+                                               ("i45" "i44" "i43")))
+                                            (hygiene guile))))
+                                  #{ropt 2390}#)))
+                        #{tmp 2396}#)
+                      (let ((#{tmp 2405}#
+                              ($sc-dispatch #{args 2388}# '((any any) . any))))
+                        (if (if #{tmp 2405}#
+                              (@apply
+                                (lambda (#{a 2409}# #{init 2410}# #{b 2411}#)
+                                  (#{id? 353}# #{a 2409}#))
+                                #{tmp 2405}#)
+                              #f)
+                          (@apply
+                            (lambda (#{a 2415}# #{init 2416}# #{b 2417}#)
+                              (#{opt 2332}#
+                                #{b 2417}#
+                                #{req 2389}#
+                                (cons (list #{a 2415}# #{init 2416}#)
+                                      #{ropt 2390}#)))
+                            #{tmp 2405}#)
+                          (let ((#{tmp 2418}#
+                                  ($sc-dispatch #{args 2388}# '(any . any))))
+                            (if (if #{tmp 2418}#
+                                  (@apply
+                                    (lambda (#{a 2421}# #{b 2422}#)
+                                      (eq? (syntax->datum #{a 2421}#) #:key))
+                                    #{tmp 2418}#)
+                                  #f)
+                              (@apply
+                                (lambda (#{a 2425}# #{b 2426}#)
+                                  (#{key 2334}#
+                                    #{b 2426}#
+                                    #{req 2389}#
+                                    (reverse #{ropt 2390}#)
+                                    '()))
+                                #{tmp 2418}#)
+                              (let ((#{tmp 2427}#
+                                      ($sc-dispatch #{args 2388}# '(any any))))
+                                (if (if #{tmp 2427}#
+                                      (@apply
+                                        (lambda (#{a 2430}# #{b 2431}#)
+                                          (eq? (syntax->datum #{a 2430}#)
+                                               #:rest))
+                                        #{tmp 2427}#)
+                                      #f)
+                                  (@apply
+                                    (lambda (#{a 2434}# #{b 2435}#)
+                                      (#{rest 2336}#
+                                        #{b 2435}#
+                                        #{req 2389}#
+                                        (reverse #{ropt 2390}#)
+                                        '()))
+                                    #{tmp 2427}#)
+                                  (let ((#{tmp 2436}# (list #{args 2388}#)))
+                                    (if (if #{tmp 2436}#
+                                          (@apply
+                                            (lambda (#{r 2438}#)
+                                              (#{id? 353}# #{r 2438}#))
+                                            #{tmp 2436}#)
+                                          #f)
+                                      (@apply
+                                        (lambda (#{r 2440}#)
+                                          (#{rest 2336}#
+                                            #{r 2440}#
+                                            #{req 2389}#
+                                            (reverse #{ropt 2390}#)
+                                            '()))
+                                        #{tmp 2436}#)
+                                      (syntax-violation
+                                        'lambda*
+                                        "invalid optional argument list"
+                                        #{orig-args 2327}#
+                                        #{args 2388}#)))))))))))))))
+          (#{key 2334}#
+            (lambda (#{args 2443}#
+                     #{req 2444}#
+                     #{opt 2445}#
+                     #{rkey 2446}#)
+              (let ((#{tmp 2452}# ($sc-dispatch #{args 2443}# '())))
+                (if #{tmp 2452}#
+                  (@apply
+                    (lambda ()
+                      (#{check 2338}#
+                        #{req 2444}#
+                        #{opt 2445}#
+                        #f
+                        (cons #f (reverse #{rkey 2446}#))))
+                    #{tmp 2452}#)
+                  (let ((#{tmp 2453}#
+                          ($sc-dispatch #{args 2443}# '(any . any))))
+                    (if (if #{tmp 2453}#
+                          (@apply
+                            (lambda (#{a 2456}# #{b 2457}#)
+                              (#{id? 353}# #{a 2456}#))
+                            #{tmp 2453}#)
+                          #f)
+                      (@apply
+                        (lambda (#{a 2460}# #{b 2461}#)
+                          (let ((#{tmp 2463}#
+                                  (symbol->keyword
+                                    (syntax->datum #{a 2460}#))))
+                            (#{key 2334}#
+                              #{b 2461}#
+                              #{req 2444}#
+                              #{opt 2445}#
+                              (cons (cons #{tmp 2463}#
+                                          (cons #{a 2460}#
+                                                '(#(syntax-object
+                                                    #f
+                                                    ((top)
+                                                     #(ribcage () () ())
+                                                     #(ribcage
+                                                       #(k)
+                                                       #((top))
+                                                       #("i2464"))
+                                                     #(ribcage
+                                                       #(a b)
+                                                       #((top) (top))
+                                                       #("i2458" "i2459"))
+                                                     #(ribcage () () ())
+                                                     #(ribcage
+                                                       #(args req opt rkey)
+                                                       #((top)
+                                                         (top)
+                                                         (top)
+                                                         (top))
+                                                       #("i2447"
+                                                         "i2448"
+                                                         "i2449"
+                                                         "i2450"))
+                                                     #(ribcage
+                                                       (check rest key opt req)
+                                                       ((top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top))
+                                                       ("i2337"
+                                                        "i2335"
+                                                        "i2333"
+                                                        "i2331"
+                                                        "i2329"))
+                                                     #(ribcage
+                                                       #(orig-args)
+                                                       #((top))
+                                                       #("i2328"))
+                                                     #(ribcage
+                                                       (lambda-var-list
+                                                         gen-var
+                                                         strip
+                                                         chi-lambda-case
+                                                         lambda*-formals
+                                                         chi-simple-lambda
+                                                         lambda-formals
+                                                         ellipsis?
+                                                         chi-void
+                                                         eval-local-transformer
+                                                         chi-local-syntax
+                                                         chi-body
+                                                         chi-macro
+                                                         chi-call
+                                                         chi-expr
+                                                         chi
+                                                         syntax-type
+                                                         chi-when-list
+                                                         chi-install-global
+                                                         chi-top-sequence
+                                                         chi-sequence
+                                                         source-wrap
+                                                         wrap
+                                                         bound-id-member?
+                                                         distinct-bound-ids?
+                                                         valid-bound-ids?
+                                                         bound-id=?
+                                                         free-id=?
+                                                         id-var-name
+                                                         same-marks?
+                                                         join-marks
+                                                         join-wraps
+                                                         smart-append
+                                                         make-binding-wrap
+                                                         extend-ribcage!
+                                                         make-empty-ribcage
+                                                         new-mark
+                                                         anti-mark
+                                                         the-anti-mark
+                                                         top-marked?
+                                                         top-wrap
+                                                         empty-wrap
+                                                         set-ribcage-labels!
+                                                         set-ribcage-marks!
+                                                         set-ribcage-symnames!
+                                                         ribcage-labels
+                                                         ribcage-marks
+                                                         ribcage-symnames
+                                                         ribcage?
+                                                         make-ribcage
+                                                         gen-labels
+                                                         gen-label
+                                                         make-rename
+                                                         rename-marks
+                                                         rename-new
+                                                         rename-old
+                                                         subst-rename?
+                                                         wrap-subst
+                                                         wrap-marks
+                                                         make-wrap
+                                                         id-sym-name&marks
+                                                         id-sym-name
+                                                         id?
+                                                         nonsymbol-id?
+                                                         global-extend
+                                                         lookup
+                                                         macros-only-env
+                                                         extend-var-env
+                                                         extend-env
+                                                         null-env
+                                                         binding-value
+                                                         binding-type
+                                                         make-binding
+                                                         arg-check
+                                                         source-annotation
+                                                         no-source
+                                                         
set-syntax-object-module!
+                                                         
set-syntax-object-wrap!
+                                                         
set-syntax-object-expression!
+                                                         syntax-object-module
+                                                         syntax-object-wrap
+                                                         
syntax-object-expression
+                                                         syntax-object?
+                                                         make-syntax-object
+                                                         build-lexical-var
+                                                         build-letrec
+                                                         build-named-let
+                                                         build-let
+                                                         build-sequence
+                                                         build-data
+                                                         build-primref
+                                                         build-primcall
+                                                         build-lambda-case
+                                                         build-case-lambda
+                                                         build-simple-lambda
+                                                         
build-global-definition
+                                                         
build-global-assignment
+                                                         build-global-reference
+                                                         analyze-variable
+                                                         
build-lexical-assignment
+                                                         
build-lexical-reference
+                                                         build-dynlet
+                                                         build-conditional
+                                                         build-call
+                                                         build-void
+                                                         maybe-name-value!
+                                                         decorate-source
+                                                         
get-global-definition-hook
+                                                         
put-global-definition-hook
+                                                         gensym-hook
+                                                         local-eval-hook
+                                                         top-level-eval-hook
+                                                         fx<
+                                                         fx=
+                                                         fx-
+                                                         fx+
+                                                         set-lambda-meta!
+                                                         lambda-meta
+                                                         lambda?
+                                                         make-dynlet
+                                                         make-letrec
+                                                         make-let
+                                                         make-lambda-case
+                                                         make-lambda
+                                                         make-seq
+                                                         make-primcall
+                                                         make-call
+                                                         make-conditional
+                                                         make-toplevel-define
+                                                         make-toplevel-set
+                                                         make-toplevel-ref
+                                                         make-module-set
+                                                         make-module-ref
+                                                         make-lexical-set
+                                                         make-lexical-ref
+                                                         make-primitive-ref
+                                                         make-const
+                                                         make-void)
+                                                       ((top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+