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-186-gb2208d2


From: Andy Wingo
Subject: [Guile-commits] GNU Guile branch, master, updated. v2.1.0-186-gb2208d2
Date: Thu, 01 Dec 2011 22:32:03 +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=b2208d2e987759270c712e35c8164394a47a52aa

The branch, master has been updated
       via  b2208d2e987759270c712e35c8164394a47a52aa (commit)
       via  738c899e4c1ab9d25cfbcd1010f34e0cce400bca (commit)
       via  fd51e66190bde8cef74fec9725de4da3471901c4 (commit)
       via  9f7537dcabbded64afd631c0d57c84aced8173c5 (commit)
       via  7a4eb5e5ece4ec456a4d0974463393199094708c (commit)
       via  8ac704338d5e548f9dbf6ce3b12ef68a972e099b (commit)
       via  d1c036248c2d50cd7e288bb82f83625813ccecf2 (commit)
       via  6360beb28a918448ed42b0ddb905b2d9d513d8b9 (commit)
       via  14294ce0dfa315193a455a16dd5ab631bf037b78 (commit)
       via  59a0273338ca52dd920eef90439f95d313214a6b (commit)
       via  4855c63441c5f11a58b8157c877e5890a7b0ffe1 (commit)
       via  69b8c5df14dbc1f9602925788507d371a529dfbe (commit)
       via  2db1dbfe275986c4762d247209a02417818f62f8 (commit)
       via  1c1f7a3223bbeb3d593bfb3e93777e47faf09012 (commit)
       via  f701287497d545061009ad572c69f86bb10d7a6a (commit)
       via  9447207f0c9a52d48b2de20b444405dfdd43d465 (commit)
       via  c81c2ad3a59fdfb54260af2c159fac56de4daf3a (commit)
       via  aafb4ed72414dd0dccc6ff27a59318adfda26abf (commit)
       via  adf8616fabbf3248cfbe4f075b5f2c02fed9e5c2 (commit)
       via  a0a8dd625469f5b6194e7ace9146e5f10b9b4016 (commit)
       via  f7db6079bc16354394a1bd90d15c2a7ab985f148 (commit)
       via  d4b88945205451b0c8f9a565374f3e75ec604419 (commit)
       via  be4b20c3ca6e48277f42b896cad9281dee0f96e6 (commit)
       via  de2c0a10fef8322b3c11acd6d1c149473846ceb8 (commit)
       via  e0a9f02224cdcf0e8e24616038aca905d31b60a7 (commit)
       via  f0d1bacd786147c73862ab3f5ca2155b6f88888e (commit)
       via  8071964943e23700cfe1095ba0f5e3c99f590dee (commit)
       via  7f622b82a2ada4af1f78e27d1ef9ad1498305287 (commit)
       via  46d80cae0876b63b460b2997c7e3bfab94461166 (commit)
       via  449c4d44d0dd82749ca1eb8cfeb2ba025caf6eaa (commit)
       via  4b4b1e0b7044d47adcfabf28d57a31b2126e54ee (commit)
       via  654ef4cf546780f1954955d8ee2388704176a988 (commit)
       via  dceb78294d381e6c3b9779b3f4a186cb76415054 (commit)
       via  440ac793c4f32d1eeef89eb9974be39270c18069 (commit)
       via  78a474558aa1261c51f443d464e00a3105f90b38 (commit)
       via  46e0923d3526679701113c9ae01df1ba3a9ea0f5 (commit)
       via  936d0bf3218bda64a46679524cc0149d11883d43 (commit)
       via  d61d6686543c9656d2a7273e104172052f951f7c (commit)
       via  ee15aa46e3fb29e609bd7c431e8f2676f6573d57 (commit)
       via  f3cf9421cb319e2cb9ffde4ec41cad7fdcafcebc (commit)
      from  3dc9f41900a0e9f915da3aa1eea6e0fae829c40d (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 b2208d2e987759270c712e35c8164394a47a52aa
Merge: 3dc9f41 738c899
Author: Andy Wingo <address@hidden>
Date:   Thu Dec 1 23:31:50 2011 +0100

    Merge remote-tracking branch 'origin/stable-2.0'
    
    Conflicts:
        configure.ac
        libguile/fluids.c
        libguile/gc.c
        libguile/gc.h
        libguile/objcodes.c
        libguile/procprop.c
        libguile/vm.c
        module/ice-9/psyntax-pp.scm
        module/ice-9/psyntax.scm

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

Summary of changes:
 README                                |   23 +-
 acinclude.m4                          |   50 +
 am/guilec                             |    7 +-
 benchmark-suite/lib.scm               |    5 +-
 configure.ac                          |   17 +-
 doc/ref/api-data.texi                 |    3 +-
 doc/ref/api-evaluation.texi           |    7 +
 doc/ref/intro.texi                    |    8 +-
 doc/ref/scheme-reading.texi           |    4 +-
 doc/ref/srfi-modules.texi             |    2 +-
 doc/ref/web.texi                      |    2 +-
 libguile/bytevectors.c                |    6 +-
 libguile/fluids.c                     |   42 +-
 libguile/fluids.h                     |    4 +-
 libguile/foreign.c                    |   16 +-
 libguile/gc-malloc.c                  |    4 +-
 libguile/gc.c                         |  220 +-
 libguile/gc.h                         |    2 +
 libguile/load.c                       |    3 +-
 libguile/memoize.c                    |    2 +-
 libguile/objcodes.c                   |  130 +-
 libguile/objcodes.h                   |    3 +-
 libguile/ports.c                      |   10 +-
 libguile/procprop.c                   |   33 +
 libguile/procprop.h                   |    2 +
 libguile/read.c                       |    3 +-
 libguile/threads.c                    |    5 +-
 libguile/threads.h                    |    2 +-
 libguile/vm-i-system.c                |    2 +
 libguile/vm.c                         |    2 +-
 meta/uninstalled-env.in               |  114 +-
 module/Makefile.am                    |   10 +-
 module/ice-9/boot-9.scm               |   61 +-
 module/ice-9/eval.scm                 |  229 +-
 module/ice-9/getopt-long.scm          |    4 +-
 module/ice-9/psyntax-pp.scm           |18024 ++++++++++++++++-----------------
 module/ice-9/psyntax.scm              |  325 +-
 module/ice-9/vlist.scm                |    4 +-
 module/language/elisp/runtime.scm     |   14 +-
 module/scripts/compile.scm            |   24 +-
 module/srfi/srfi-39.scm               |   50 +-
 module/system/base/language.scm       |    4 +-
 module/system/base/message.scm        |    6 +-
 module/system/base/target.scm         |   89 +-
 module/system/repl/common.scm         |    4 +-
 module/texinfo/plain-text.scm         |   10 +-
 module/web/http.scm                   |   26 +-
 test-suite/lib.scm                    |    3 +-
 test-suite/tests/asm-to-bytecode.test |   85 +-
 test-suite/tests/bytevectors.test     |   11 +-
 test-suite/tests/eval.test            |  119 +-
 test-suite/tests/foreign.test         |   26 +
 test-suite/tests/procprop.test        |   26 +-
 test-suite/tests/web-http.test        |    5 +-
 54 files changed, 10211 insertions(+), 9681 deletions(-)

diff --git a/README b/README
index 256b7d0..66f02b3 100644
--- a/README
+++ b/README
@@ -239,25 +239,28 @@ switches specific to Guile you may find useful in some 
circumstances.
 
 Cross building Guile  =====================================================
 
-As of guile-1.5.x, the build process uses compiled C files for
-snarfing, and (indirectly, through libtool) for linking, and uses the
-guile executable for generating documentation.
+As of Guile 2.0.x, the build process produces a library, libguile-2.0,
+along with Guile "object files" containing bytecode to be interpreted by
+Guile's virtual machine.  The bytecode format depends on the endianness
+and word size of the host CPU.
 
-When cross building guile, you first need to configure, build and
-install guile for your build host.
+Thus, when cross building Guile, you first need to configure, build and
+install it for your build host.
 
-Then, you may configure guile for cross building, eg:
+Then, you may configure Guile for cross building:
 
     ./configure --host=i686-pc-cygwin --disable-shared
 
-A C compiler for the build system is required.  The default is
-"PATH=/usr/bin:$PATH cc".  If that doesn't suit it can be specified
-with the CC_FOR_BUILD variable in the usual way, for instance
+A C compiler for the build system is required.  If that doesn't suit it
+can be specified with the CC_FOR_BUILD variable in the usual way, for
+instance:
 
     ./configure --host=m68k-unknown-linux-gnu CC_FOR_BUILD=/my/local/gcc
 
 Guile for the build system can be specified similarly with the
-GUILE_FOR_BUILD variable, it defaults to just "guile".
+GUILE_FOR_BUILD variable, which defaults to whatever `guile' executable
+is found in $PATH.  It must have the exact same version has the Guile
+that you intend to cross-build.
 
 
 Using Guile Without Installing It =========================================
diff --git a/acinclude.m4 b/acinclude.m4
index ba17e93..f9603d9 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -530,6 +530,56 @@ AC_DEFUN([GUILE_UNISTRING_ICONVEH_VALUES], [
   GUILE_UNISTRING_CONSTANT([iconveh_escape_sequence])
 ])
 
+dnl GUILE_CHECK_VERSION
+dnl
+dnl Ensure that $GUILE_FOR_BUILD has the same version as ourselves.
+AC_DEFUN([GUILE_CHECK_VERSION], [
+  if ! "$GUILE_FOR_BUILD" --version > /dev/null 2>&1; then
+     AC_MSG_ERROR([failed to run `$GUILE_FOR_BUILD'])
+  fi
+
+  dnl Use MAJOR.MINOR.MICRO instead of (version) so that developers can
+  dnl freely shoot themselves in the foot by using, say, 2.0.3.80 and
+  dnl 2.0.3.42.
+  AC_CACHE_CHECK([the version of $GUILE_FOR_BUILD],
+    [ac_cv_guile_for_build_version],
+    [ac_cv_guile_for_build_version="`"$GUILE_FOR_BUILD" \
+       -c '(format #t "~a.~a.~a" (major-version) (minor-version) 
(micro-version))'`"
+    ])
+
+  if test "$ac_cv_guile_for_build_version" != \
+       "$GUILE_MAJOR_VERSION.$GUILE_MINOR_VERSION.$GUILE_MICRO_VERSION"
+  then
+      AC_MSG_ERROR([building Guile $PACKAGE_VERSION but `$GUILE_FOR_BUILD' has 
version $ac_cv_guile_for_build_version"])
+  fi
+])
+
+dnl GUILE_CHECK_GUILE_FOR_BUILD
+dnl
+dnl When cross-compiling, ensure that $GUILE_FOR_BUILD is suitable.
+AC_DEFUN([GUILE_CHECK_GUILE_FOR_BUILD], [
+  if test "$cross_compiling" = "yes"; then
+    if test "x$GUILE_FOR_BUILD" = "x"; then
+      AC_PATH_PROG([GUILE_FOR_BUILD], [guile], [not-found])
+      if test "$GUILE_FOR_BUILD" = "not-found"; then
+        AC_MSG_ERROR([a native Guile $PACKAGE_VERSION is required to 
cross-build Guile])
+      fi
+    fi
+    AC_MSG_CHECKING([guile for build])
+    AC_MSG_RESULT([$GUILE_FOR_BUILD])
+
+    dnl Since there is currently no distinction between the run-time
+    dnl search path, %load-path, and the compiler's search path,
+    dnl $GUILE_FOR_BUILD must be a native build of the very same version.
+    GUILE_CHECK_VERSION
+  else
+    GUILE_FOR_BUILD='this-value-will-never-be-used'
+  fi
+
+  AC_ARG_VAR([GUILE_FOR_BUILD], [guile for the build system])
+  AM_SUBST_NOTMAKE([GUILE_FOR_BUILD])
+])
+
 dnl Declare file $1 to be a script that needs configuring,
 dnl and arrange to make it executable in the process.
 AC_DEFUN([GUILE_CONFIG_SCRIPT],[AC_CONFIG_FILES([$1],[chmod +x $1])])
diff --git a/am/guilec b/am/guilec
index 7f4e85d..7634a97 100644
--- a/am/guilec
+++ b/am/guilec
@@ -26,6 +26,9 @@ AM_V_GUILEC_0 = @echo "  GUILEC" $@;
 
 SUFFIXES = .scm .go
 .scm.go:
-       $(AM_V_GUILEC)GUILE_AUTO_COMPILE=0                              \
+       $(AM_V_GUILEC)GUILE_AUTO_COMPILE=0                      \
        $(top_builddir)/meta/uninstalled-env                    \
-       guild compile $(GUILE_WARNINGS) -o "$@" "$<"
+       guild compile --target="$(host)" $(GUILE_WARNINGS)      \
+         -L "$(abs_srcdir)" -L "$(abs_builddir)"               \
+         -L "$(abs_top_srcdir)/guile-readline"                 \
+         -o "$@" "$<"
diff --git a/benchmark-suite/lib.scm b/benchmark-suite/lib.scm
index a6feed8..4ba0e3e 100644
--- a/benchmark-suite/lib.scm
+++ b/benchmark-suite/lib.scm
@@ -1,5 +1,5 @@
 ;;;; benchmark-suite/lib.scm --- generic support for benchmarking
-;;;; Copyright (C) 2002, 2006 Free Software Foundation, Inc.
+;;;; Copyright (C) 2002, 2006, 2011 Free Software Foundation, Inc.
 ;;;;
 ;;;; This program is free software; you can redistribute it and/or
 ;;;; modify it under the terms of the GNU Lesser General Public
@@ -348,8 +348,7 @@
   (append (current-benchmark-prefix) (list name)))
 
 ;;; A fluid containing the current benchmark prefix, as a list.
-(define prefix-fluid (make-fluid))
-(fluid-set! prefix-fluid '())
+(define prefix-fluid (make-fluid '()))
 (define (current-benchmark-prefix)
   (fluid-ref prefix-fluid))
 
diff --git a/configure.ac b/configure.ac
index a88fd1b..02ce7d0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1259,7 +1259,7 @@ save_LIBS="$LIBS"
 LIBS="$BDW_GC_LIBS $LIBS"
 CFLAGS="$BDW_GC_CFLAGS $CFLAGS"
 
-AC_CHECK_FUNCS([GC_do_blocking GC_call_with_gc_active GC_pthread_exit 
GC_pthread_cancel GC_allow_register_threads GC_pthread_sigmask 
GC_set_start_callback GC_get_suspend_signal GC_move_disappearing_link])
+AC_CHECK_FUNCS([GC_do_blocking GC_call_with_gc_active GC_pthread_exit 
GC_pthread_cancel GC_allow_register_threads GC_pthread_sigmask 
GC_set_start_callback GC_get_suspend_signal GC_move_disappearing_link 
GC_get_heap_usage_safe GC_get_free_space_divisor])
 
 # Though the `GC_do_blocking ()' symbol is present in GC 7.1, it is not
 # declared, and has a different type (returning void instead of
@@ -1511,20 +1511,7 @@ AC_SUBST(CCLD_FOR_BUILD)
 HOST_CC="$CC_FOR_BUILD"
 AC_SUBST(HOST_CC)
 
-if test "$cross_compiling" = "yes"; then
-  AC_MSG_CHECKING(guile for build)
-  GUILE_FOR_BUILD="${GUILE_FOR_BUILD-guile}"
-else
-  GUILE_FOR_BUILD='this-value-will-never-be-used'
-fi   
-
-## AC_MSG_CHECKING("if we are cross compiling")
-## AC_MSG_RESULT($cross_compiling)
-if test "$cross_compiling" = "yes"; then
-   AC_MSG_RESULT($GUILE_FOR_BUILD)
-fi
-AC_ARG_VAR(GUILE_FOR_BUILD,[guile for build system])
-AM_SUBST_NOTMAKE(GUILE_FOR_BUILD)
+GUILE_CHECK_GUILE_FOR_BUILD
                        
 ## If we're using GCC, ask for aggressive warnings.
 GCC_CFLAGS=""
diff --git a/doc/ref/api-data.texi b/doc/ref/api-data.texi
index f9b39b6..5017165 100644
--- a/doc/ref/api-data.texi
+++ b/doc/ref/api-data.texi
@@ -4546,7 +4546,8 @@ Fill bytevector @var{bv} with @var{fill}, a byte.
 @deffnx {C Function} scm_bytevector_copy_x (source, source_start, target, 
target_start, len)
 Copy @var{len} bytes from @var{source} into @var{target}, starting
 reading from @var{source-start} (a positive index within @var{source})
-and start writing at @var{target-start}.
+and start writing at @var{target-start}.  It is permitted for the
address@hidden and @var{target} regions to overlap.
 @end deffn
 
 @deffn {Scheme Procedure} bytevector-copy bv
diff --git a/doc/ref/api-evaluation.texi b/doc/ref/api-evaluation.texi
index aa7d9c7..6a09bef 100644
--- a/doc/ref/api-evaluation.texi
+++ b/doc/ref/api-evaluation.texi
@@ -640,6 +640,13 @@ Use @var{lang} as the source language of @var{file}.  If 
this option is omitted,
 Use @var{lang} as the target language of @var{file}.  If this option is 
omitted,
 @code{objcode} is assumed.
 
address@hidden -T @var{target}
address@hidden address@hidden
+Produce bytecode for @var{target} instead of @var{%host-type}
+(@pxref{Build Config, %host-type}).  Target must be a valid GNU triplet,
+such as @code{armv5tel-unknown-linux-gnueabi} (@pxref{Specifying Target
+Triplets,,, autoconf, GNU Autoconf Manual}).
+
 @end table
 
 Each @var{file} is assumed to be UTF-8-encoded, unless it contains a
diff --git a/doc/ref/intro.texi b/doc/ref/intro.texi
index b2bc5df..e94948f 100644
--- a/doc/ref/intro.texi
+++ b/doc/ref/intro.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, 2006, 
2010
address@hidden Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2006, 
2010, 2011
 @c   Free Software Foundation, Inc.
 @c See the file guile.texi for copying conditions.
 
@@ -8,9 +8,9 @@
 @chapter Introduction
 
 Guile is an implementation of the Scheme programming language.  Scheme
-(@url{schemers.org}) is an elegant and conceptually simple dialect of
-Lisp, originated by Guy Steele and Gerald Sussman, and since evolved
-by the series of reports known as RnRS (the
+(@url{http://schemers.org/}) is an elegant and conceptually simple
+dialect of Lisp, originated by Guy Steele and Gerald Sussman, and since
+evolved by the series of reports known as RnRS (the
 @tex
 Revised$^n$
 @end tex
diff --git a/doc/ref/scheme-reading.texi b/doc/ref/scheme-reading.texi
index 6ec80a5..f147ea0 100644
--- a/doc/ref/scheme-reading.texi
+++ b/doc/ref/scheme-reading.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
address@hidden Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2011
 @c   Free Software Foundation, Inc.
 @c See the file guile.texi for copying conditions.
 
@@ -10,7 +10,7 @@
 @itemize @bullet
 
 @item
-The website @url{http://www.schemers.org} is a good starting point for
+The website @url{http://www.schemers.org/} is a good starting point for
 all things Scheme.
 
 @item
diff --git a/doc/ref/srfi-modules.texi b/doc/ref/srfi-modules.texi
index 0517fc4..1e0ba2b 100644
--- a/doc/ref/srfi-modules.texi
+++ b/doc/ref/srfi-modules.texi
@@ -16,7 +16,7 @@ Guile has support for a number of SRFIs.  This chapter gives 
an overview
 over the available SRFIs and some usage hints.  For complete
 documentation, design rationales and further examples, we advise you to
 get the relevant SRFI documents from the SRFI home page
address@hidden://srfi.schemers.org}.
address@hidden://srfi.schemers.org/}.
 
 @menu
 * About SRFI Usage::            What to know about Guile's SRFI support.
diff --git a/doc/ref/web.texi b/doc/ref/web.texi
index 63b6f3f..a08cd2c 100644
--- a/doc/ref/web.texi
+++ b/doc/ref/web.texi
@@ -847,7 +847,7 @@ indicating any etag, or a list of entity tags.
 Indicates that a response should proceed if and only if the resource has
 been modified since the given date.
 @example
-(parse-header if-modified-since "Tue, 15 Nov 1994 08:12:31 GMT")
+(parse-header 'if-modified-since "Tue, 15 Nov 1994 08:12:31 GMT")
 @result{} #<date ...>
 @end example
 @end deftypevr
diff --git a/libguile/bytevectors.c b/libguile/bytevectors.c
index 17ad442..811e8d8 100644
--- a/libguile/bytevectors.c
+++ b/libguile/bytevectors.c
@@ -596,9 +596,9 @@ SCM_DEFINE (scm_bytevector_copy_x, "bytevector-copy!", 5, 
0, 0,
   if (SCM_UNLIKELY (c_target_start + c_len > c_target_len))
     scm_out_of_range (FUNC_NAME, target_start);
 
-  memcpy (c_target + c_target_start,
-         c_source + c_source_start,
-         c_len);
+  memmove (c_target + c_target_start,
+          c_source + c_source_start,
+          c_len);
 
   return SCM_UNSPECIFIED;
 }
diff --git a/libguile/fluids.c b/libguile/fluids.c
index 9446156..0c9c03f 100644
--- a/libguile/fluids.c
+++ b/libguile/fluids.c
@@ -68,7 +68,7 @@ grow_dynamic_state (SCM state)
   /* Assume the assignment below is atomic.  */
   len = allocated_fluids_len;
 
-  new_fluids = scm_c_make_vector (len, SCM_BOOL_F);
+  new_fluids = scm_c_make_vector (len, SCM_UNDEFINED);
 
   for (i = 0; i < old_len; i++)
     SCM_SIMPLE_VECTOR_SET (new_fluids, i,
@@ -103,14 +103,14 @@ scm_i_with_fluids_print (SCM exp, SCM port, 
scm_print_state *pstate SCM_UNUSED)
 
 /* Return a new fluid.  */
 static SCM
-new_fluid ()
+new_fluid (SCM init)
 {
   SCM fluid;
   size_t trial, n;
 
-  /* Fluids are pointerless cells: the first word is the type tag; the second
-     word is the fluid number.  */
-  fluid = SCM_PACK_POINTER (scm_gc_malloc_pointerless (sizeof (scm_t_cell), 
"fluid"));
+  /* Fluids hold the type tag and the fluid number in the first word,
+     and the default value in the second word.  */
+  fluid = scm_cell (scm_tc7_fluid, SCM_UNPACK (init));
   SCM_SET_CELL_TYPE (fluid, scm_tc7_fluid);
 
   scm_dynwind_begin (0);
@@ -157,7 +157,7 @@ new_fluid ()
     }
 
   allocated_fluids[n] = SCM_UNPACK_POINTER (fluid);
-  SCM_SET_CELL_WORD_1 (fluid, (scm_t_bits) n);
+  SCM_SET_CELL_WORD_0 (fluid, (scm_tc7_fluid | (n << 8)));
 
   GC_GENERAL_REGISTER_DISAPPEARING_LINK (&allocated_fluids[n],
                                         SCM_HEAP_OBJECT_BASE (fluid));
@@ -166,13 +166,19 @@ new_fluid ()
 
   /* Now null out values.  We could (and probably should) do this when
      the fluid is collected instead of now.  */
-  scm_i_reset_fluid (n, SCM_BOOL_F);
+  scm_i_reset_fluid (n);
 
   return fluid;
 }
 
-SCM_DEFINE (scm_make_fluid, "make-fluid", 0, 0, 0, 
-           (),
+SCM
+scm_make_fluid (void)
+{
+  return new_fluid (SCM_BOOL_F);
+}
+
+SCM_DEFINE (scm_make_fluid_with_default, "make-fluid", 0, 1, 0, 
+           (SCM dflt),
            "Return a newly created fluid.\n"
            "Fluids are objects that can hold one\n"
            "value per dynamic state.  That is, modifications to this value 
are\n"
@@ -180,9 +186,9 @@ SCM_DEFINE (scm_make_fluid, "make-fluid", 0, 0, 0,
            "the modifying code.  When a new dynamic state is constructed, it\n"
            "inherits the values from its parent.  Because each thread normally 
executes\n"
            "with its own dynamic state, you can use fluids for thread local 
storage.")
-#define FUNC_NAME s_scm_make_fluid
+#define FUNC_NAME s_scm_make_fluid_with_default
 {
-  return new_fluid ();
+  return new_fluid (SCM_UNBNDP (dflt) ? SCM_BOOL_F : dflt);
 }
 #undef FUNC_NAME
 
@@ -191,9 +197,7 @@ SCM_DEFINE (scm_make_unbound_fluid, "make-unbound-fluid", 
0, 0, 0,
             "Make a fluid that is initially unbound.")
 #define FUNC_NAME s_scm_make_unbound_fluid
 {
-  SCM f = new_fluid ();
-  scm_fluid_set_x (f, SCM_UNDEFINED);
-  return f;
+  return new_fluid (SCM_UNDEFINED);
 }
 #undef FUNC_NAME
 
@@ -217,6 +221,7 @@ scm_is_fluid (SCM obj)
 static SCM
 fluid_ref (SCM fluid)
 {
+  SCM ret;
   SCM fluids = DYNAMIC_STATE_FLUIDS (SCM_I_CURRENT_THREAD->dynamic_state);
 
   if (SCM_UNLIKELY (FLUID_NUM (fluid) >= SCM_SIMPLE_VECTOR_LENGTH (fluids)))
@@ -227,7 +232,11 @@ fluid_ref (SCM fluid)
       fluids = DYNAMIC_STATE_FLUIDS (SCM_I_CURRENT_THREAD->dynamic_state);
     }
 
-  return SCM_SIMPLE_VECTOR_REF (fluids, FLUID_NUM (fluid));
+  ret = SCM_SIMPLE_VECTOR_REF (fluids, FLUID_NUM (fluid));
+  if (SCM_UNBNDP (ret))
+    return SCM_I_FLUID_DEFAULT (fluid);
+  else
+    return ret;
 }
 
 SCM_DEFINE (scm_fluid_ref, "fluid-ref", 1, 0, 0, 
@@ -274,6 +283,9 @@ SCM_DEFINE (scm_fluid_unset_x, "fluid-unset!", 1, 0, 0,
             "Unset the value associated with @var{fluid}.")
 #define FUNC_NAME s_scm_fluid_unset_x
 {
+  /* FIXME: really unset the default value, too?  The current test
+     suite demands it, but I would prefer not to.  */
+  SCM_SET_CELL_OBJECT_1 (fluid, SCM_UNDEFINED);
   return scm_fluid_set_x (fluid, SCM_UNDEFINED);
 }
 #undef FUNC_NAME
diff --git a/libguile/fluids.h b/libguile/fluids.h
index 09de736..7d134b9 100644
--- a/libguile/fluids.h
+++ b/libguile/fluids.h
@@ -56,10 +56,12 @@
 
 #define SCM_FLUID_P(x)          (SCM_HAS_TYP7 (x, scm_tc7_fluid))
 #ifdef BUILDING_LIBGUILE
-#define SCM_I_FLUID_NUM(x)        ((size_t)SCM_CELL_WORD_1(x))
+#define SCM_I_FLUID_NUM(x)        ((size_t)(SCM_CELL_WORD_0 (x) >> 8))
+#define SCM_I_FLUID_DEFAULT(x)    (SCM_CELL_OBJECT_1 (x))
 #endif
 
 SCM_API SCM scm_make_fluid (void);
+SCM_API SCM scm_make_fluid_with_default (SCM dflt);
 SCM_API SCM scm_make_unbound_fluid (void);
 SCM_API int scm_is_fluid (SCM obj);
 SCM_API SCM scm_fluid_p (SCM fl);
diff --git a/libguile/foreign.c b/libguile/foreign.c
index 973bfc3..bb88cf5 100644
--- a/libguile/foreign.c
+++ b/libguile/foreign.c
@@ -1124,7 +1124,7 @@ SCM_DEFINE (scm_procedure_to_pointer, 
"procedure->pointer", 3, 0, 0,
            "type should match @var{return-type} and @var{arg-types}.\n")
 #define FUNC_NAME s_scm_procedure_to_pointer
 {
-  SCM pointer;
+  SCM cif_pointer, pointer;
   ffi_cif *cif;
   ffi_status err;
   void *closure, *executable;
@@ -1141,8 +1141,17 @@ SCM_DEFINE (scm_procedure_to_pointer, 
"procedure->pointer", 3, 0, 0,
       SCM_MISC_ERROR ("`ffi_prep_closure_loc' failed", SCM_EOL);
     }
 
+  /* CIF points to GC-managed memory and it should remain as long as
+     POINTER (see below) is live.  Wrap it in a Scheme pointer to then
+     hold a weak reference on it.  */
+  cif_pointer = scm_from_pointer (cif, NULL);
+
   if (closure == executable)
-    pointer = scm_from_pointer (executable, ffi_closure_free);
+    {
+      pointer = scm_from_pointer (executable, ffi_closure_free);
+      register_weak_reference (pointer,
+                              scm_list_2 (proc, cif_pointer));
+    }
   else
     {
       /* CLOSURE needs to be freed eventually.  However, since
@@ -1155,7 +1164,8 @@ SCM_DEFINE (scm_procedure_to_pointer, 
"procedure->pointer", 3, 0, 0,
       pointer = scm_from_pointer (executable, NULL);
       friend = scm_from_pointer (closure, ffi_closure_free);
 
-      register_weak_reference (pointer, friend);
+      register_weak_reference (pointer,
+                              scm_list_3 (proc, cif_pointer, friend));
     }
 
   return pointer;
diff --git a/libguile/gc-malloc.c b/libguile/gc-malloc.c
index 537021a..3b64159 100644
--- a/libguile/gc-malloc.c
+++ b/libguile/gc-malloc.c
@@ -88,12 +88,14 @@ scm_realloc (void *mem, size_t size)
 {
   void *ptr;
 
+  scm_gc_register_allocation (size);
+
   SCM_SYSCALL (ptr = realloc (mem, size));
   if (ptr)
     return ptr;
 
   /* Time is hard: trigger a full, ``stop-the-world'' GC, and try again.  */
-  GC_gcollect ();
+  GC_gcollect_and_unmap ();
 
   SCM_SYSCALL (ptr = realloc (mem, size));
   if (ptr)
diff --git a/libguile/gc.c b/libguile/gc.c
index 2680dd6..71e7133 100644
--- a/libguile/gc.c
+++ b/libguile/gc.c
@@ -27,6 +27,7 @@
 #include <stdio.h>
 #include <errno.h>
 #include <string.h>
+#include <math.h>
 
 #ifdef __ia64__
 #include <ucontext.h>
@@ -188,6 +189,32 @@ SCM_DEFINE (scm_set_debug_cell_accesses_x, 
"set-debug-cell-accesses!", 1, 0, 0,
 #endif  /* SCM_DEBUG_CELL_ACCESSES == 1 */
 
 
+
+/* Compatibility.  */
+
+#ifndef HAVE_GC_GET_HEAP_USAGE_SAFE
+static void
+GC_get_heap_usage_safe (GC_word *pheap_size, GC_word *pfree_bytes,
+                        GC_word *punmapped_bytes, GC_word *pbytes_since_gc,
+                        GC_word *ptotal_bytes)
+{
+  *pheap_size = GC_get_heap_size ();
+  *pfree_bytes = GC_get_free_bytes ();
+  *punmapped_bytes = GC_get_unmapped_bytes ();
+  *pbytes_since_gc = GC_get_bytes_since_gc ();
+  *ptotal_bytes = GC_get_total_bytes ();
+}
+#endif
+
+#ifndef HAVE_GC_GET_FREE_SPACE_DIVISOR
+static GC_word
+GC_get_free_space_divisor (void)
+{
+  return GC_free_space_divisor;
+}
+#endif
+
+
 /* Hooks.  */
 scm_t_c_hook scm_before_gc_c_hook;
 scm_t_c_hook scm_before_mark_c_hook;
@@ -209,6 +236,9 @@ unsigned long scm_gc_ports_collected = 0;
 static long gc_time_taken = 0;
 static long gc_start_time = 0;
 
+static unsigned long free_space_divisor;
+static unsigned long minimum_free_space_divisor;
+static double target_free_space_divisor;
 
 static unsigned long protected_obj_count = 0;
 
@@ -270,14 +300,12 @@ SCM_DEFINE (scm_gc_stats, "gc-stats", 0, 0, 0,
 #define FUNC_NAME s_scm_gc_stats
 {
   SCM answer;
-  size_t heap_size, free_bytes, bytes_since_gc, total_bytes;
+  GC_word heap_size, free_bytes, unmapped_bytes, bytes_since_gc, total_bytes;
   size_t gc_times;
 
-  heap_size      = GC_get_heap_size ();
-  free_bytes     = GC_get_free_bytes ();
-  bytes_since_gc = GC_get_bytes_since_gc ();
-  total_bytes    = GC_get_total_bytes ();
-  gc_times       = GC_gc_no;
+  GC_get_heap_usage_safe (&heap_size, &free_bytes, &unmapped_bytes,
+                          &bytes_since_gc, &total_bytes);
+  gc_times = GC_gc_no;
 
   answer =
     scm_list_n (scm_cons (sym_gc_time_taken, scm_from_long (gc_time_taken)),
@@ -579,7 +607,10 @@ void
 scm_storage_prehistory ()
 {
   GC_all_interior_pointers = 0;
-  GC_set_free_space_divisor (scm_getenv_int ("GC_FREE_SPACE_DIVISOR", 3));
+  free_space_divisor = scm_getenv_int ("GC_FREE_SPACE_DIVISOR", 3);
+  minimum_free_space_divisor = free_space_divisor;
+  target_free_space_divisor = free_space_divisor;
+  GC_set_free_space_divisor (free_space_divisor);
 
   GC_INIT ();
 
@@ -723,7 +754,8 @@ accumulate_gc_timer (void * hook_data SCM_UNUSED,
                 void *data SCM_UNUSED)
 {
   if (gc_start_time)
-    { long now = scm_c_get_internal_run_time ();
+    {
+      long now = scm_c_get_internal_run_time ();
       gc_time_taken += now - gc_start_time;
       gc_start_time = 0;
     }
@@ -731,6 +763,168 @@ accumulate_gc_timer (void * hook_data SCM_UNUSED,
   return NULL;
 }
 
+/* Return some idea of the memory footprint of a process, in bytes.
+   Currently only works on Linux systems.  */
+static size_t
+get_image_size (void)
+{
+  unsigned long size, resident, share;
+  size_t ret = 0;
+
+  FILE *fp = fopen ("/proc/self/statm", "r");
+
+  if (fp && fscanf (fp, "%lu %lu %lu", &size, &resident, &share) == 3)
+    ret = resident * 4096;
+
+  if (fp)
+    fclose (fp);
+
+  return ret;
+}
+
+/* These are discussed later.  */
+static size_t bytes_until_gc;
+static scm_i_pthread_mutex_t bytes_until_gc_lock = 
SCM_I_PTHREAD_MUTEX_INITIALIZER;
+
+/* Make GC run more frequently when the process image size is growing,
+   measured against the number of bytes allocated through the GC.
+
+   If Guile is allocating at a GC-managed heap size H, libgc will tend
+   to limit the process image size to H*N.  But if at the same time the
+   user program is mallocating at a rate M bytes per GC-allocated byte,
+   then the process stabilizes at H*N*M -- assuming that collecting data
+   will result in malloc'd data being freed.  It doesn't take a very
+   large M for this to be a bad situation.  To limit the image size,
+   Guile should GC more often -- the bigger the M, the more often.
+
+   Numeric functions that produce bigger and bigger integers are
+   pessimal, because M is an increasing function of time.  Here is an
+   example of such a function:
+
+      (define (factorial n)
+        (define (fac n acc)
+          (if (<= n 1)
+            acc
+            (fac (1- n) (* n acc))))
+        (fac n 1))
+
+   It is possible for a process to grow for reasons that will not be
+   solved by faster GC.  In that case M will be estimated as
+   artificially high for a while, and so GC will happen more often on
+   the Guile side.  But when it stabilizes, Guile can ease back the GC
+   frequency.
+
+   The key is to measure process image growth, not mallocation rate.
+   For maximum effectiveness, Guile reacts quickly to process growth,
+   and exponentially backs down when the process stops growing.
+
+   See http://thread.gmane.org/gmane.lisp.guile.devel/12552/focus=12936
+   for further discussion.
+ */
+static void *
+adjust_gc_frequency (void * hook_data SCM_UNUSED,
+                     void *fn_data SCM_UNUSED,
+                     void *data SCM_UNUSED)
+{
+  static size_t prev_image_size = 0;
+  static size_t prev_bytes_alloced = 0;
+  size_t image_size;
+  size_t bytes_alloced;
+  
+  scm_i_pthread_mutex_lock (&bytes_until_gc_lock);
+  bytes_until_gc = GC_get_heap_size ();
+  scm_i_pthread_mutex_unlock (&bytes_until_gc_lock);
+
+  image_size = get_image_size ();
+  bytes_alloced = GC_get_total_bytes ();
+
+#define HEURISTICS_DEBUG 0
+
+#if HEURISTICS_DEBUG
+  fprintf (stderr, "prev image / alloced: %lu / %lu\n", prev_image_size, 
prev_bytes_alloced);
+  fprintf (stderr, "     image / alloced: %lu / %lu\n", image_size, 
bytes_alloced);
+  fprintf (stderr, "divisor %lu / %f\n", free_space_divisor, 
target_free_space_divisor);
+#endif
+
+  if (prev_image_size && bytes_alloced != prev_bytes_alloced)
+    {
+      double growth_rate, new_target_free_space_divisor;
+      double decay_factor = 0.5;
+      double hysteresis = 0.1;
+
+      growth_rate = ((double) image_size - prev_image_size)
+        / ((double)bytes_alloced - prev_bytes_alloced);
+      
+#if HEURISTICS_DEBUG
+      fprintf (stderr, "growth rate %f\n", growth_rate);
+#endif
+
+      new_target_free_space_divisor = minimum_free_space_divisor;
+
+      if (growth_rate > 0)
+        new_target_free_space_divisor *= 1.0 + growth_rate;
+
+#if HEURISTICS_DEBUG
+      fprintf (stderr, "new divisor %f\n", new_target_free_space_divisor);
+#endif
+
+      if (new_target_free_space_divisor < target_free_space_divisor)
+        /* Decay down.  */
+        target_free_space_divisor =
+          (decay_factor * target_free_space_divisor
+           + (1.0 - decay_factor) * new_target_free_space_divisor);
+      else
+        /* Jump up.  */
+        target_free_space_divisor = new_target_free_space_divisor;
+
+#if HEURISTICS_DEBUG
+      fprintf (stderr, "new target divisor %f\n", target_free_space_divisor);
+#endif
+
+      if (free_space_divisor + 0.5 + hysteresis < target_free_space_divisor
+          || free_space_divisor - 0.5 - hysteresis > target_free_space_divisor)
+        {
+          free_space_divisor = lround (target_free_space_divisor);
+#if HEURISTICS_DEBUG
+          fprintf (stderr, "new divisor %lu\n", free_space_divisor);
+#endif
+          GC_set_free_space_divisor (free_space_divisor);
+        }
+    }
+
+  prev_image_size = image_size;
+  prev_bytes_alloced = bytes_alloced;
+
+  return NULL;
+}
+
+/* The adjust_gc_frequency routine handles transients in the process
+   image size.  It can't handle instense non-GC-managed steady-state
+   allocation though, as it decays the FSD at steady-state down to its
+   minimum value.
+
+   The only real way to handle continuous, high non-GC allocation is to
+   let the GC know about it.  This routine can handle non-GC allocation
+   rates that are similar in size to the GC-managed heap size.
+ */
+
+void
+scm_gc_register_allocation (size_t size)
+{
+  scm_i_pthread_mutex_lock (&bytes_until_gc_lock);
+  if (bytes_until_gc - size > bytes_until_gc)
+    {
+      bytes_until_gc = GC_get_heap_size ();
+      scm_i_pthread_mutex_unlock (&bytes_until_gc_lock);
+      GC_gcollect ();
+    }
+  else
+    {
+      bytes_until_gc -= size;
+      scm_i_pthread_mutex_unlock (&bytes_until_gc_lock);
+    }
+}
+
 
 
 
@@ -833,6 +1027,16 @@ scm_init_gc ()
   scm_c_hook_add (&scm_before_gc_c_hook, start_gc_timer, NULL, 0);
   scm_c_hook_add (&scm_after_gc_c_hook, accumulate_gc_timer, NULL, 0);
 
+#if HAVE_GC_GET_HEAP_USAGE_SAFE
+  /* GC_get_heap_usage does not take a lock, and so can run in the GC
+     start hook.  */
+  scm_c_hook_add (&scm_before_gc_c_hook, adjust_gc_frequency, NULL, 0);
+#else
+  /* GC_get_heap_usage might take a lock (and did from 7.2alpha1 to
+     7.2alpha7), so call it in the after_gc_hook.  */
+  scm_c_hook_add (&scm_after_gc_c_hook, adjust_gc_frequency, NULL, 0);
+#endif
+
 #ifdef HAVE_GC_SET_START_CALLBACK
   GC_set_start_callback (run_before_gc_c_hook);
 #endif
diff --git a/libguile/gc.h b/libguile/gc.h
index 08d2c15..30d0699 100644
--- a/libguile/gc.h
+++ b/libguile/gc.h
@@ -157,6 +157,8 @@ SCM_INTERNAL void scm_i_gc (const char *what);
 SCM_API void scm_gc_mark (SCM p);
 SCM_API void scm_gc_sweep (void);
 
+SCM_API void scm_gc_register_allocation (size_t size);
+
 SCM_API void *scm_malloc (size_t size) SCM_MALLOC;
 SCM_API void *scm_calloc (size_t size) SCM_MALLOC;
 SCM_API void *scm_realloc (void *mem, size_t size);
diff --git a/libguile/load.c b/libguile/load.c
index d6c318b..14f411a 100644
--- a/libguile/load.c
+++ b/libguile/load.c
@@ -1043,8 +1043,7 @@ scm_init_load ()
   scm_loc_fresh_auto_compile
     = SCM_VARIABLE_LOC (scm_c_define ("%fresh-auto-compile", SCM_BOOL_F));
 
-  the_reader = scm_make_fluid ();
-  scm_fluid_set_x (the_reader, SCM_BOOL_F);
+  the_reader = scm_make_fluid_with_default (SCM_BOOL_F);
   scm_c_define("current-reader", the_reader);
 
   scm_c_define ("load-compiled",
diff --git a/libguile/memoize.c b/libguile/memoize.c
index 9a2caad..1be276b 100644
--- a/libguile/memoize.c
+++ b/libguile/memoize.c
@@ -292,7 +292,7 @@ memoize (SCM exp, SCM env)
         int nreq, nopt, ntotal;
 
         req = REF (exp, LAMBDA_CASE, REQ);
-        rest = REF (exp, LAMBDA_CASE, REST);
+        rest = scm_not (scm_not (REF (exp, LAMBDA_CASE, REST)));
         opt = REF (exp, LAMBDA_CASE, OPT);
         kw = REF (exp, LAMBDA_CASE, KW);
         inits = REF (exp, LAMBDA_CASE, INITS);
diff --git a/libguile/objcodes.c b/libguile/objcodes.c
index 27ea111..5db8ed3 100644
--- a/libguile/objcodes.c
+++ b/libguile/objcodes.c
@@ -32,6 +32,7 @@
 #include <sys/types.h>
 #include <assert.h>
 #include <alignof.h>
+#include <byteswap.h>
 
 #include <full-read.h>
 
@@ -45,11 +46,55 @@
    The length of the header must be a multiple of 8 bytes.  */
 verify (((sizeof (SCM_OBJCODE_COOKIE) - 1) & 7) == 0);
 
+/* Endianness and word size of the compilation target.  */
+static SCM target_endianness_var = SCM_BOOL_F;
+static SCM target_word_size_var = SCM_BOOL_F;
+
 
 /*
  * Objcode type
  */
 
+/* Endianness of the build machine.  */
+#ifdef WORDS_BIGENDIAN
+# define NATIVE_ENDIANNESS 'B'
+#else
+# define NATIVE_ENDIANNESS 'L'
+#endif
+
+/* Return the endianness of the compilation target.  */
+static char
+target_endianness (void)
+{
+  if (scm_is_true (target_endianness_var))
+    return scm_is_eq (scm_call_0 (scm_variable_ref (target_endianness_var)),
+                     scm_endianness_big) ? 'B' : 'L';
+  else
+    return NATIVE_ENDIANNESS;
+}
+
+/* Return the word size in bytes of the compilation target.  */
+static size_t
+target_word_size (void)
+{
+  if (scm_is_true (target_word_size_var))
+    return scm_to_size_t (scm_call_0
+                         (scm_variable_ref (target_word_size_var)));
+  else
+    return sizeof (void *);
+}
+
+/* Convert X, which is in byte order ENDIANNESS, to its native
+   representation.  */
+static inline uint32_t
+to_native_order (uint32_t x, char endianness)
+{
+  if (endianness == NATIVE_ENDIANNESS)
+    return x;
+  else
+    return bswap_32 (x);
+}
+
 static void
 verify_cookie (char *cookie, struct stat *st, int map_fd, void *map_addr)
 #define FUNC_NAME "make_objcode_from_file"
@@ -183,7 +228,7 @@ make_objcode_from_file (int fd)
 
     verify_cookie (cookie, &st, -1, NULL);
 
-    return scm_bytecode_to_objcode (bv);
+    return scm_bytecode_to_native_objcode (bv);
   }
 #endif
 }
@@ -254,12 +299,12 @@ SCM_DEFINE (scm_objcode_meta, "objcode-meta", 1, 0, 0,
 }
 #undef FUNC_NAME
 
-SCM_DEFINE (scm_bytecode_to_objcode, "bytecode->objcode", 1, 0, 0,
-           (SCM bytecode),
-           "")
-#define FUNC_NAME s_scm_bytecode_to_objcode
+/* Turn BYTECODE into objcode encoded for ENDIANNESS and WORD_SIZE.  */
+static SCM
+bytecode_to_objcode (SCM bytecode, char endianness, size_t word_size)
+#define FUNC_NAME "bytecode->objcode"
 {
-  size_t size;
+  size_t size, len, metalen;
   const scm_t_uint8 *c_bytecode;
   struct scm_objcode *data;
 
@@ -268,14 +313,17 @@ SCM_DEFINE (scm_bytecode_to_objcode, "bytecode->objcode", 
1, 0, 0,
 
   size = SCM_BYTEVECTOR_LENGTH (bytecode);
   c_bytecode = (const scm_t_uint8*)SCM_BYTEVECTOR_CONTENTS (bytecode);
-  
+
   SCM_ASSERT_RANGE (0, bytecode, size >= sizeof(struct scm_objcode));
   data = (struct scm_objcode*)c_bytecode;
 
-  if (data->len + data->metalen != (size - sizeof (*data)))
+  len = to_native_order (data->len, endianness);
+  metalen = to_native_order (data->metalen, endianness);
+
+  if (len + metalen != (size - sizeof (*data)))
     scm_misc_error (FUNC_NAME, "bad bytevector size (~a != ~a)",
                    scm_list_2 (scm_from_size_t (size),
-                               scm_from_uint32 (sizeof (*data) + data->len + 
data->metalen)));
+                               scm_from_uint32 (sizeof (*data) + len + 
metalen)));
 
   /* foolishly, we assume that as long as bytecode is around, that c_bytecode
      will be of the same length; perhaps a bad assumption? */
@@ -284,6 +332,27 @@ SCM_DEFINE (scm_bytecode_to_objcode, "bytecode->objcode", 
1, 0, 0,
 }
 #undef FUNC_NAME
 
+SCM_DEFINE (scm_bytecode_to_objcode, "bytecode->objcode", 1, 0, 0,
+           (SCM bytecode),
+           "")
+#define FUNC_NAME s_scm_bytecode_to_objcode
+{
+  /* Assume we're called from Scheme, which known that to do with
+     `target-type'.  */
+  return bytecode_to_objcode (bytecode, target_endianness (),
+                             target_word_size ());
+}
+#undef FUNC_NAME
+
+/* Like `bytecode->objcode', but ignore the `target-type' fluid.  This
+   is useful for native compilation that happens lazily---e.g., direct
+   calls to this function from libguile itself.  */
+SCM
+scm_bytecode_to_native_objcode (SCM bytecode)
+{
+  return bytecode_to_objcode (bytecode, NATIVE_ENDIANNESS, sizeof (void *));
+}
+
 SCM_DEFINE (scm_load_objcode, "load-objcode", 1, 0, 0,
            (SCM file),
            "")
@@ -324,41 +393,37 @@ SCM_DEFINE (scm_write_objcode, "write-objcode", 2, 0, 0,
            "")
 #define FUNC_NAME s_scm_write_objcode
 {
-  static SCM target_endianness_var = SCM_BOOL_F;
-  static SCM target_word_size_var = SCM_BOOL_F;
-
   char cookie[sizeof (SCM_OBJCODE_COOKIE) - 1];
-  char endianness;
-  char word_size;
+  char endianness, word_size;
+  size_t total_size;
 
   SCM_VALIDATE_OBJCODE (1, objcode);
   SCM_VALIDATE_OUTPUT_PORT (2, port);
-  
-  if (scm_is_false (target_endianness_var))
-    target_endianness_var =
-      scm_c_public_variable ("system base target", "target-endianness");
-  if (scm_is_false (target_word_size_var))
-    target_word_size_var =
-      scm_c_public_variable ("system base target", "target-word-size");
-
-  endianness = 
-    scm_is_eq (scm_call_0 (scm_variable_ref (target_endianness_var)),
-               scm_endianness_big) ? 'B' : 'L';
-  switch (scm_to_int (scm_call_0 (scm_variable_ref (target_word_size_var))))
+  endianness = target_endianness ();
+  switch (target_word_size ())
     {
-    case 4: word_size = '4'; break;
-    case 8: word_size = '8'; break;
-    default: abort ();
+    case 4:
+      word_size = '4';
+      break;
+    case 8:
+      word_size = '8';
+      break;
+    default:
+      abort ();
     }
 
   memcpy (cookie, SCM_OBJCODE_COOKIE, strlen (SCM_OBJCODE_COOKIE));
   cookie[SCM_OBJCODE_ENDIANNESS_OFFSET] = endianness;
   cookie[SCM_OBJCODE_WORD_SIZE_OFFSET] = word_size;
 
+  total_size =
+    to_native_order (SCM_OBJCODE_LEN (objcode), target_endianness ())
+    + to_native_order (SCM_OBJCODE_META_LEN (objcode), target_endianness ());
+
   scm_c_write_unlocked (port, cookie, strlen (SCM_OBJCODE_COOKIE));
   scm_c_write_unlocked (port, SCM_OBJCODE_DATA (objcode),
                         sizeof (struct scm_objcode)
-                        + SCM_OBJCODE_TOTAL_LEN (objcode));
+                        + total_size);
 
   return SCM_UNSPECIFIED;
 }
@@ -398,6 +463,11 @@ scm_init_objcodes (void)
 
   scm_c_define ("word-size", scm_from_size_t (sizeof(SCM)));
   scm_c_define ("byte-order", scm_from_uint16 (SCM_BYTE_ORDER));
+
+  target_endianness_var = scm_c_public_variable ("system base target",
+                                                "target-endianness");
+  target_word_size_var = scm_c_public_variable ("system base target",
+                                               "target-word-size");
 }
 
 /*
diff --git a/libguile/objcodes.h b/libguile/objcodes.h
index c075c5c..0c3865c 100644
--- a/libguile/objcodes.h
+++ b/libguile/objcodes.h
@@ -60,11 +60,12 @@ struct scm_objcode
 #define SCM_OBJCODE_NATIVE_CODE(x) (SCM_CELL_WORD_3 (x))
 #define SCM_SET_OBJCODE_NATIVE_CODE(x, code) (SCM_SET_CELL_WORD_3 (x, code))
 
-SCM scm_c_make_objcode_slice (SCM parent, const scm_t_uint8 *ptr);
+SCM_API SCM scm_c_make_objcode_slice (SCM parent, const scm_t_uint8 *ptr);
 SCM_API SCM scm_load_objcode (SCM file);
 SCM_API SCM scm_objcode_p (SCM obj);
 SCM_API SCM scm_objcode_meta (SCM objcode);
 SCM_API SCM scm_bytecode_to_objcode (SCM bytecode);
+SCM_INTERNAL SCM scm_bytecode_to_native_objcode (SCM bytecode);
 SCM_API SCM scm_objcode_to_bytecode (SCM objcode);
 SCM_API SCM scm_write_objcode (SCM objcode, SCM port);
 
diff --git a/libguile/ports.c b/libguile/ports.c
index bad524e..20c7349 100644
--- a/libguile/ports.c
+++ b/libguile/ports.c
@@ -2762,13 +2762,13 @@ scm_init_ports ()
 #include "libguile/ports.x"
 
   /* Use Latin-1 as the default port encoding.  */
-  SCM_VARIABLE_SET (default_port_encoding_var, scm_make_fluid ());
-  scm_fluid_set_x (SCM_VARIABLE_REF (default_port_encoding_var), SCM_BOOL_F);
+  SCM_VARIABLE_SET (default_port_encoding_var,
+                    scm_make_fluid_with_default (SCM_BOOL_F));
   scm_port_encoding_init = 1;
 
-  SCM_VARIABLE_SET (scm_conversion_strategy, scm_make_fluid ());
-  scm_fluid_set_x (SCM_VARIABLE_REF (scm_conversion_strategy), 
-                  scm_from_int ((int) SCM_FAILED_CONVERSION_QUESTION_MARK));
+  SCM_VARIABLE_SET (scm_conversion_strategy,
+                    scm_make_fluid_with_default
+                    (scm_from_int ((int) 
SCM_FAILED_CONVERSION_QUESTION_MARK)));
   scm_conversion_strategy_init = 1;
   
 }
diff --git a/libguile/procprop.c b/libguile/procprop.c
index 2ad941d..93ee7f0 100644
--- a/libguile/procprop.c
+++ b/libguile/procprop.c
@@ -43,9 +43,23 @@ SCM_GLOBAL_SYMBOL (scm_sym_name, "name");
 
 static SCM overrides;
 
+static SCM arity_overrides;
+
 int
 scm_i_procedure_arity (SCM proc, int *req, int *opt, int *rest)
 {
+  SCM o;
+
+  o = scm_weak_table_refq (arity_overrides, proc, SCM_BOOL_F);
+
+  if (scm_is_true (o))
+    {
+      *req = scm_to_int (scm_car (o));
+      *opt = scm_to_int (scm_cadr (o));
+      *rest = scm_is_true (scm_caddr (o));
+      return 1;
+    }
+
   while (!SCM_PROGRAM_P (proc))
     {
       if (SCM_STRUCTP (proc))
@@ -63,9 +77,27 @@ scm_i_procedure_arity (SCM proc, int *req, int *opt, int 
*rest)
       else
         return 0;
     }
+
   return scm_i_program_arity (proc, req, opt, rest);
 }
 
+SCM_DEFINE (scm_set_procedure_minimum_arity_x, "set-procedure-minimum-arity!",
+            4, 0, 0, (SCM proc, SCM req, SCM opt, SCM rest),
+            "")
+#define FUNC_NAME s_scm_set_procedure_minimum_arity_x
+{
+  int t SCM_UNUSED;
+
+  SCM_VALIDATE_PROC (1, proc);
+  SCM_VALIDATE_INT_COPY (2, req, t);
+  SCM_VALIDATE_INT_COPY (3, opt, t);
+  SCM_VALIDATE_BOOL (4, rest);
+
+  scm_weak_table_putq_x (arity_overrides, proc, scm_list_3 (req, opt, rest));
+  return SCM_UNDEFINED;
+}
+#undef FUNC_NAME
+
 SCM_DEFINE (scm_procedure_minimum_arity, "procedure-minimum-arity", 1, 0, 0, 
            (SCM proc),
            "Return the \"minimum arity\" of a procedure.\n\n"
@@ -171,6 +203,7 @@ void
 scm_init_procprop ()
 {
   overrides = scm_c_make_weak_table (0, SCM_WEAK_TABLE_KIND_KEY);
+  arity_overrides = scm_c_make_weak_table (0, SCM_WEAK_TABLE_KIND_KEY);
 #include "libguile/procprop.x"
 }
 
diff --git a/libguile/procprop.h b/libguile/procprop.h
index 38d6922..88e44ec 100644
--- a/libguile/procprop.h
+++ b/libguile/procprop.h
@@ -33,6 +33,8 @@ SCM_API SCM scm_sym_system_procedure;
 
 
 SCM_INTERNAL int scm_i_procedure_arity (SCM proc, int *req, int *opt, int 
*rest);
+SCM_API SCM scm_set_procedure_minimum_arity_x (SCM proc, SCM req, SCM opt,
+                                               SCM rest);
 SCM_API SCM scm_procedure_minimum_arity (SCM proc);
 SCM_API SCM scm_procedure_properties (SCM proc);
 SCM_API SCM scm_set_procedure_properties_x (SCM proc, SCM alist);
diff --git a/libguile/read.c b/libguile/read.c
index 97f7702..7db0341 100644
--- a/libguile/read.c
+++ b/libguile/read.c
@@ -1740,8 +1740,7 @@ scm_init_read ()
 {
   SCM read_hash_procs;
 
-  read_hash_procs = scm_make_fluid ();
-  scm_fluid_set_x (read_hash_procs, SCM_EOL);
+  read_hash_procs = scm_make_fluid_with_default (SCM_EOL);
   
   scm_i_read_hash_procedures =
     SCM_VARIABLE_LOC (scm_c_define ("%read-hash-procedures", read_hash_procs));
diff --git a/libguile/threads.c b/libguile/threads.c
index ec5001f..aeadcfe 100644
--- a/libguile/threads.c
+++ b/libguile/threads.c
@@ -477,7 +477,7 @@ static SCM scm_i_default_dynamic_state;
 
 /* Run when a fluid is collected.  */
 void
-scm_i_reset_fluid (size_t n, SCM val)
+scm_i_reset_fluid (size_t n)
 {
   scm_i_thread *t;
 
@@ -488,7 +488,7 @@ scm_i_reset_fluid (size_t n, SCM val)
         SCM v = SCM_I_DYNAMIC_STATE_FLUIDS (t->dynamic_state);
           
         if (n < SCM_SIMPLE_VECTOR_LENGTH (v))
-          SCM_SIMPLE_VECTOR_SET (v, n, val);
+          SCM_SIMPLE_VECTOR_SET (v, n, SCM_UNDEFINED);
       }
   scm_i_pthread_mutex_unlock (&thread_admin_mutex);
 }
@@ -1001,6 +1001,7 @@ SCM_DEFINE (scm_call_with_new_thread, 
"call-with-new-thread", 1, 1, 0,
   SCM_ASSERT (SCM_UNBNDP (handler) || scm_is_true (scm_procedure_p (handler)),
              handler, SCM_ARG2, FUNC_NAME);
 
+  GC_collect_a_little ();
   data.parent = scm_current_dynamic_state ();
   data.thunk = thunk;
   data.handler = handler;
diff --git a/libguile/threads.h b/libguile/threads.h
index be760dd..54d6414 100644
--- a/libguile/threads.h
+++ b/libguile/threads.h
@@ -136,7 +136,7 @@ SCM_API SCM scm_spawn_thread (scm_t_catch_body body, void 
*body_data,
 SCM_API void *scm_without_guile (void *(*func)(void *), void *data);
 SCM_API void *scm_with_guile (void *(*func)(void *), void *data);
 
-SCM_INTERNAL void scm_i_reset_fluid (size_t, SCM);
+SCM_INTERNAL void scm_i_reset_fluid (size_t);
 SCM_INTERNAL void scm_threads_prehistory (void *);
 SCM_INTERNAL void scm_init_threads (void);
 SCM_INTERNAL void scm_init_thread_procs (void);
diff --git a/libguile/vm-i-system.c b/libguile/vm-i-system.c
index fc4e8bd..8981042 100644
--- a/libguile/vm-i-system.c
+++ b/libguile/vm-i-system.c
@@ -1660,6 +1660,8 @@ VM_DEFINE_INSTRUCTION (91, fluid_ref, "fluid-ref", 0, 1, 
1)
   else
     {
       SCM val = SCM_SIMPLE_VECTOR_REF (fluids, num);
+      if (scm_is_eq (val, SCM_UNDEFINED))
+        val = SCM_I_FLUID_DEFAULT (*sp);
       if (SCM_UNLIKELY (scm_is_eq (val, SCM_UNDEFINED)))
         {
           finish_args = *sp;
diff --git a/libguile/vm.c b/libguile/vm.c
index 9b8e93a..8596588 100644
--- a/libguile/vm.c
+++ b/libguile/vm.c
@@ -393,7 +393,7 @@ really_make_boot_program (long nargs)
   u8vec = scm_c_take_gc_bytevector ((scm_t_int8*)bp,
                                     sizeof (struct scm_objcode) + sizeof 
(text),
                                     SCM_BOOL_F);
-  ret = scm_make_program (scm_bytecode_to_objcode (u8vec),
+  ret = scm_make_program (scm_bytecode_to_native_objcode (u8vec),
                           SCM_BOOL_F, SCM_BOOL_F);
   SCM_SET_CELL_WORD_0 (ret, SCM_CELL_WORD_0 (ret) | SCM_F_PROGRAM_IS_BOOT);
 
diff --git a/meta/uninstalled-env.in b/meta/uninstalled-env.in
index 2276b4a..5fa0db0 100644
--- a/meta/uninstalled-env.in
+++ b/meta/uninstalled-env.in
@@ -46,62 +46,72 @@ top_builddir="@top_builddir_absolute@"
     exit 1
 }
 
-if [ x"$GUILE_LOAD_PATH" = x ]
+# When cross-compiling, let $GUILE_FOR_BUILD use its own .go files since
+# the ones that are being built may be incompatible ($GUILE_FOR_BUILD is
+# typically used to run `guild compile --target=$host'.)  Likewise,
+# $GUILE_FOR_BUILD must use its own source files when booting; for
+# instance, $srcdir/module/ice-9/boot-9.scm must not be in its search
+# path, because it would then end up using its C evaluator to run the
+# compiler.
+if test "@cross_compiling@" = "no"
 then
-    
GUILE_LOAD_PATH="${top_srcdir}/module:${top_srcdir}/guile-readline:${top_srcdir}"
-    if test "${top_srcdir}" != "${top_builddir}"; then
-        
GUILE_LOAD_PATH="$GUILE_LOAD_PATH:${top_builddir}/module:${top_builddir}/guile-readline:${top_builddir}"
+    if [ x"$GUILE_LOAD_PATH" = x ]
+    then
+       
GUILE_LOAD_PATH="${top_srcdir}/module:${top_srcdir}/guile-readline:${top_srcdir}"
+       if test "${top_srcdir}" != "${top_builddir}"; then
+            
GUILE_LOAD_PATH="$GUILE_LOAD_PATH:${top_builddir}/module:${top_builddir}/guile-readline:${top_builddir}"
+       fi
+    else
+       for d in "/module" "/guile-readline" ""
+       do
+            # This hair prevents double inclusion.
+            # The ":" prevents prefix aliasing.
+           case x"$GUILE_LOAD_PATH" in
+               x*${top_srcdir}${d}:*) ;;
+               x*${top_srcdir}${d}) ;;
+               *) GUILE_LOAD_PATH="${top_srcdir}${d}:$GUILE_LOAD_PATH" ;;
+           esac
+           case x"$GUILE_LOAD_PATH" in
+               x*${top_builddir}${d}:*) ;;
+               x*${top_builddir}${d}) ;;
+               *) GUILE_LOAD_PATH="${top_builddir}${d}:$GUILE_LOAD_PATH" ;;
+           esac
+       done
     fi
-else
-  for d in "/module" "/guile-readline" ""
-  do
-    # This hair prevents double inclusion.
-    # The ":" prevents prefix aliasing.
-    case x"$GUILE_LOAD_PATH" in
-      x*${top_srcdir}${d}:*) ;;
-      x*${top_srcdir}${d}) ;;
-      *) GUILE_LOAD_PATH="${top_srcdir}${d}:$GUILE_LOAD_PATH" ;;
-    esac
-    case x"$GUILE_LOAD_PATH" in
-      x*${top_builddir}${d}:*) ;;
-      x*${top_builddir}${d}) ;;
-      *) GUILE_LOAD_PATH="${top_builddir}${d}:$GUILE_LOAD_PATH" ;;
-    esac
-  done
-fi
-export GUILE_LOAD_PATH
+    export GUILE_LOAD_PATH
 
-if [ x"$GUILE_LOAD_COMPILED_PATH" = x ]
-then
-  
GUILE_LOAD_COMPILED_PATH="${top_builddir}/module:${top_builddir}/guile-readline:${top_builddir}"
-else
-  for d in "/module" "/guile-readline" ""
-  do
-    # This hair prevents double inclusion.
-    # The ":" prevents prefix aliasing.
-    case x"$GUILE_LOAD_COMPILED_PATH" in
-      x*${top_builddir}${d}:*) ;;
-      x*${top_builddir}${d}) ;;
-      *) 
GUILE_LOAD_COMPILED_PATH="${top_builddir}${d}:$GUILE_LOAD_COMPILED_PATH" ;;
-    esac
-  done
-fi
-export GUILE_LOAD_COMPILED_PATH
+    if test "x$GUILE_LOAD_COMPILED_PATH" = "x"
+    then
+       
GUILE_LOAD_COMPILED_PATH="${top_builddir}/module:${top_builddir}/guile-readline:${top_builddir}"
+    else
+       for d in "/module" "/guile-readline" ""
+       do
+            # This hair prevents double inclusion.
+            # The ":" prevents prefix aliasing.
+           case x"$GUILE_LOAD_COMPILED_PATH" in
+               x*${top_builddir}${d}:*) ;;
+               x*${top_builddir}${d}) ;;
+               *) 
GUILE_LOAD_COMPILED_PATH="${top_builddir}${d}:$GUILE_LOAD_COMPILED_PATH" ;;
+           esac
+       done
+    fi
+    export GUILE_LOAD_COMPILED_PATH
 
-# Don't look in installed dirs for guile modules
-if ( env | grep -v '^GUILE_SYSTEM_PATH=' > /dev/null ); then
-  GUILE_SYSTEM_PATH=
-  export GUILE_SYSTEM_PATH
-fi
-# Don't look in installed dirs for compiled guile modules
-if ( env | grep -v '^GUILE_SYSTEM_COMPILED_PATH=' > /dev/null ); then
-  GUILE_SYSTEM_COMPILED_PATH=
-  export GUILE_SYSTEM_COMPILED_PATH
-fi
-# Don't look in installed dirs for dlopen-able modules
-if ( env | grep -v '^GUILE_SYSTEM_EXTENSIONS_PATH=' > /dev/null ); then
-  GUILE_SYSTEM_EXTENSIONS_PATH=
-  export GUILE_SYSTEM_EXTENSIONS_PATH
+    # Don't look in installed dirs for guile modules
+    if ( env | grep -v '^GUILE_SYSTEM_PATH=' > /dev/null ); then
+       GUILE_SYSTEM_PATH=
+       export GUILE_SYSTEM_PATH
+    fi
+    # Don't look in installed dirs for compiled guile modules
+    if ( env | grep -v '^GUILE_SYSTEM_COMPILED_PATH=' > /dev/null ); then
+       GUILE_SYSTEM_COMPILED_PATH=
+       export GUILE_SYSTEM_COMPILED_PATH
+    fi
+    # Don't look in installed dirs for dlopen-able modules
+    if ( env | grep -v '^GUILE_SYSTEM_EXTENSIONS_PATH=' > /dev/null ); then
+       GUILE_SYSTEM_EXTENSIONS_PATH=
+       export GUILE_SYSTEM_EXTENSIONS_PATH
+    fi
 fi
 
 # handle LTDL_LIBRARY_PATH (no clobber)
diff --git a/module/Makefile.am b/module/Makefile.am
index b93d8d3..56fa48d 100644
--- a/module/Makefile.am
+++ b/module/Makefile.am
@@ -79,10 +79,14 @@ ice-9/psyntax-pp.scm.gen:
 
 .PHONY: ice-9/psyntax-pp.scm.gen
 
+# Keep this rule in sync with that in `am/guilec'.
 ice-9/psyntax-pp.go: ice-9/psyntax.scm ice-9/psyntax-pp.scm
-       $(AM_V_GUILEC) GUILE_AUTO_COMPILE=0                     \
-       $(top_builddir)/meta/uninstalled-env                    \
-       guild compile $(GUILE_WARNINGS) -o "ice-9/psyntax-pp.go" 
"$(srcdir)/ice-9/psyntax.scm"
+       $(AM_V_GUILEC)GUILE_AUTO_COMPILE=0                              \
+       $(top_builddir)/meta/uninstalled-env                            \
+       guild compile --target="$(host)" $(GUILE_WARNINGS)              \
+         -L "$(abs_srcdir)" -L "$(abs_builddir)"                       \
+         -L "$(abs_top_srcdir)/guile-readline"                         \
+         -o "ice-9/psyntax-pp.go" "$(srcdir)/ice-9/psyntax.scm"
 
 SCHEME_LANG_SOURCES =                                          \
   language/scheme/spec.scm                                     \
diff --git a/module/ice-9/boot-9.scm b/module/ice-9/boot-9.scm
index b6c9d44..cf3f5d8 100644
--- a/module/ice-9/boot-9.scm
+++ b/module/ice-9/boot-9.scm
@@ -69,23 +69,6 @@
 
 (define with-throw-handler #f)
 (let ()
-  ;; Ideally we'd like to be able to give these default values for all threads,
-  ;; even threads not created by Guile; but alack, that does not currently seem
-  ;; possible. So wrap the getters in thunks.
-  (define %running-exception-handlers (make-fluid))
-  (define %exception-handler (make-fluid))
-
-  (define (running-exception-handlers)
-    (or (fluid-ref %running-exception-handlers)
-        (begin
-          (fluid-set! %running-exception-handlers '())
-          '())))
-  (define (exception-handler)
-    (or (fluid-ref %exception-handler)
-        (begin
-          (fluid-set! %exception-handler default-exception-handler)
-          default-exception-handler)))
-
   (define (default-exception-handler k . args)
     (cond
      ((eq? k 'quit)
@@ -98,18 +81,21 @@
       (format (current-error-port) "guile: uncaught throw to ~a: ~a\n" k args)
       (primitive-exit 1))))
 
+  (define %running-exception-handlers (make-fluid '()))
+  (define %exception-handler (make-fluid default-exception-handler))
+
   (define (default-throw-handler prompt-tag catch-k)
-    (let ((prev (exception-handler)))
+    (let ((prev (fluid-ref %exception-handler)))
       (lambda (thrown-k . args)
         (if (or (eq? thrown-k catch-k) (eqv? catch-k #t))
             (apply abort-to-prompt prompt-tag thrown-k args)
             (apply prev thrown-k args)))))
 
   (define (custom-throw-handler prompt-tag catch-k pre)
-    (let ((prev (exception-handler)))
+    (let ((prev (fluid-ref %exception-handler)))
       (lambda (thrown-k . args)
         (if (or (eq? thrown-k catch-k) (eqv? catch-k #t))
-            (let ((running (running-exception-handlers)))
+            (let ((running (fluid-ref %running-exception-handlers)))
               (with-fluids ((%running-exception-handlers (cons pre running)))
                 (if (not (memq pre running))
                     (apply pre thrown-k args))
@@ -192,9 +178,9 @@ for key @var{key}, then invoke @var{thunk}."
 
 If there is no handler at all, Guile prints an error and then exits."
           (if (not (symbol? key))
-              ((exception-handler) 'wrong-type-arg "throw"
+              ((fluid-ref %exception-handler) 'wrong-type-arg "throw"
                "Wrong type argument in position ~a: ~a" (list 1 key) (list 
key))
-              (apply (exception-handler) key args)))))
+              (apply (fluid-ref %exception-handler) key args)))))
 
 
 
@@ -1404,8 +1390,7 @@ VALUE."
 ;;; Reader code for various "#c" forms.
 ;;;
 
-(define read-eval? (make-fluid))
-(fluid-set! read-eval? #f)
+(define read-eval? (make-fluid #f))
 (read-hash-extend #\.
                   (lambda (c port)
                     (if (fluid-ref read-eval?)
@@ -2843,14 +2828,14 @@ module '(ice-9 q) '(make-q q-length))}."
 ;;; {Running Repls}
 ;;;
 
-(define *repl-stack* (make-fluid))
+(define *repl-stack* (make-fluid '()))
 
 ;; Programs can call `batch-mode?' to see if they are running as part of a
 ;; script or if they are running interactively. REPL implementations ensure 
that
 ;; `batch-mode?' returns #f during their extent.
 ;;
 (define (batch-mode?)
-  (null? (or (fluid-ref *repl-stack*) '())))
+  (null? (fluid-ref *repl-stack*)))
 
 ;; Programs can re-enter batch mode, for example after a fork, by calling
 ;; `ensure-batch-mode!'. It's not a great interface, though; it would be better
@@ -2889,7 +2874,26 @@ module '(ice-9 q) '(make-q q-length))}."
 (define repl-reader
   (lambda* (prompt #:optional (reader (fluid-ref current-reader)))
     (if (not (char-ready?))
-        (display (if (string? prompt) prompt (prompt))))
+        (begin
+          (display (if (string? prompt) prompt (prompt)))
+          ;; An interesting situation.  The printer resets the column to
+          ;; 0 by printing a newline, but we then advance it by printing
+          ;; the prompt.  However the port-column of the output port
+          ;; does not typically correspond with the actual column on the
+          ;; screen, because the input is is echoed back!  Since the
+          ;; input is line-buffered and thus ends with a newline, the
+          ;; output will really start on column zero.  So, here we zero
+          ;; it out.  See bug 9664.
+          ;;
+          ;; Note that for similar reasons, the output-line will not
+          ;; reflect the actual line on the screen.  But given the
+          ;; possibility of multiline input, the fix is not as
+          ;; straightforward, so we don't bother.
+          ;;
+          ;; Also note that the readline implementation papers over
+          ;; these concerns, because it's readline itself printing the
+          ;; prompt, and not Guile.
+          (set-port-column! (current-output-port) 0)))
     (force-output)
     (run-hook before-read-hook)
     ((or reader read) (current-input-port))))
@@ -3241,8 +3245,7 @@ module '(ice-9 q) '(make-q q-length))}."
 ;;;
 
 (define* (make-mutable-parameter init #:optional (converter identity))
-  (let ((fluid (make-fluid)))
-    (fluid-set! fluid (converter init))
+  (let ((fluid (make-fluid (converter init))))
     (case-lambda
       (() (fluid-ref fluid))
       ((val) (fluid-set! fluid (converter val))))))
diff --git a/module/ice-9/eval.scm b/module/ice-9/eval.scm
index e938061..5b29371 100644
--- a/module/ice-9/eval.scm
+++ b/module/ice-9/eval.scm
@@ -235,109 +235,127 @@
                     (inits (if tail (caddr tail) '()))
                     (alt (and tail (cadddr tail))))
                (make-general-closure env body nreq rest nopt kw inits alt))))
-      (lambda %args
-        (let lp ((env env)
-                 (nreq* nreq)
-                 (args %args))
-          (if (> nreq* 0)
-              ;; First, bind required arguments.
-              (if (null? args)
-                  (if alt
-                      (apply alt-proc %args)
-                      (scm-error 'wrong-number-of-args
-                                 "eval" "Wrong number of arguments"
-                                 '() #f))
-                  (lp (cons (car args) env)
-                      (1- nreq*)
-                      (cdr args)))
-              ;; Move on to optional arguments.
-              (if (not kw)
-                  ;; Without keywords, bind optionals from arguments.
-                  (let lp ((env env)
-                           (nopt nopt)
-                           (args args)
-                           (inits inits))
-                    (if (zero? nopt)
-                        (if rest?
-                            (eval body (cons args env))
-                            (if (null? args)
-                                (eval body env)
-                                (if alt
-                                    (apply alt-proc %args)
-                                    (scm-error 'wrong-number-of-args
-                                               "eval" "Wrong number of 
arguments"
-                                               '() #f))))
-                        (if (null? args)
-                            (lp (cons (eval (car inits) env) env)
-                                (1- nopt) args (cdr inits))
-                            (lp (cons (car args) env)
-                                (1- nopt) (cdr args) (cdr inits)))))
-                  ;; With keywords, we stop binding optionals at the first
-                  ;; keyword.
-                  (let lp ((env env)
-                           (nopt* nopt)
-                           (args args)
-                           (inits inits))
-                    (if (> nopt* 0)
-                        (if (or (null? args) (keyword? (car args)))
-                            (lp (cons (eval (car inits) env) env)
-                                (1- nopt*) args (cdr inits))
-                            (lp (cons (car args) env)
-                                (1- nopt*) (cdr args) (cdr inits)))
-                        ;; Finished with optionals.
-                        (let* ((aok (car kw))
-                               (kw (cdr kw))
-                               (kw-base (+ nopt nreq (if rest? 1 0)))
-                               (imax (let lp ((imax (1- kw-base)) (kw kw))
-                                       (if (null? kw)
-                                           imax
-                                           (lp (max (cdar kw) imax)
-                                               (cdr kw)))))
-                               ;; Fill in kwargs  with "undefined" vals.
-                               (env (let lp ((i kw-base)
-                                             ;; Also, here we bind the rest
-                                             ;; arg, if any.
-                                             (env (if rest? (cons args env) 
env)))
-                                      (if (<= i imax)
-                                          (lp (1+ i) (cons unbound-arg env))
-                                          env))))
-                          ;; Now scan args for keywords.
-                          (let lp ((args args))
-                            (if (and (pair? args) (pair? (cdr args))
-                                     (keyword? (car args)))
-                                (let ((kw-pair (assq (car args) kw))
-                                      (v (cadr args)))
-                                  (if kw-pair
-                                      ;; Found a known keyword; set its value.
-                                      (list-set! env (- imax (cdr kw-pair)) v)
-                                      ;; Unknown keyword.
-                                      (if (not aok)
-                                          (scm-error 'keyword-argument-error
-                                                     "eval" "Unrecognized 
keyword"
-                                                     '() #f)))
-                                  (lp (cddr args)))
-                                (if (pair? args)
-                                    (if rest?
-                                        ;; Be lenient parsing rest args.
-                                        (lp (cdr args))
-                                        (scm-error 'keyword-argument-error
-                                                   "eval" "Invalid keyword"
-                                                   '() #f))
-                                    ;; Finished parsing keywords. Fill in
-                                    ;; uninitialized kwargs by evalling init
-                                    ;; expressions in their appropriate
-                                    ;; environment.
-                                    (let lp ((i (- imax kw-base))
-                                             (inits inits))
-                                      (if (pair? inits)
-                                          (let ((tail (list-tail env i)))
-                                            (if (eq? (car tail) unbound-arg)
-                                                (set-car! tail
-                                                          (eval (car inits)
-                                                                (cdr tail))))
-                                            (lp (1- i) (cdr inits)))
-                                          ;; Finally, eval the body.
-                                          (eval body env))))))))))))))
+      (define (set-procedure-arity! proc)
+        (let lp ((alt alt) (nreq nreq) (nopt nopt) (rest? rest?))
+          (if (not alt)
+              (set-procedure-minimum-arity! proc nreq nopt rest?)
+              (let* ((nreq* (cadr alt))
+                     (rest?* (if (null? (cddr alt)) #f (caddr alt)))
+                     (tail (and (pair? (cddr alt)) (pair? (cdddr alt)) (cdddr 
alt)))
+                     (nopt* (if tail (car tail) 0))
+                     (alt* (and tail (cadddr tail))))
+                (if (or (< nreq* nreq)
+                        (and (= nreq* nreq)
+                             (if rest?
+                                 (and rest?* (> nopt* nopt))
+                                 (or rest?* (> nopt* nopt)))))
+                    (lp alt* nreq* nopt* rest?*)
+                    (lp alt* nreq nopt rest?)))))
+        proc)
+      (set-procedure-arity!
+       (lambda %args
+         (let lp ((env env)
+                  (nreq* nreq)
+                  (args %args))
+           (if (> nreq* 0)
+               ;; First, bind required arguments.
+               (if (null? args)
+                   (if alt
+                       (apply alt-proc %args)
+                       (scm-error 'wrong-number-of-args
+                                  "eval" "Wrong number of arguments"
+                                  '() #f))
+                   (lp (cons (car args) env)
+                       (1- nreq*)
+                       (cdr args)))
+               ;; Move on to optional arguments.
+               (if (not kw)
+                   ;; Without keywords, bind optionals from arguments.
+                   (let lp ((env env)
+                            (nopt nopt)
+                            (args args)
+                            (inits inits))
+                     (if (zero? nopt)
+                         (if rest?
+                             (eval body (cons args env))
+                             (if (null? args)
+                                 (eval body env)
+                                 (if alt
+                                     (apply alt-proc %args)
+                                     (scm-error 'wrong-number-of-args
+                                                "eval" "Wrong number of 
arguments"
+                                                '() #f))))
+                         (if (null? args)
+                             (lp (cons (eval (car inits) env) env)
+                                 (1- nopt) args (cdr inits))
+                             (lp (cons (car args) env)
+                                 (1- nopt) (cdr args) (cdr inits)))))
+                   ;; With keywords, we stop binding optionals at the first
+                   ;; keyword.
+                   (let lp ((env env)
+                            (nopt* nopt)
+                            (args args)
+                            (inits inits))
+                     (if (> nopt* 0)
+                         (if (or (null? args) (keyword? (car args)))
+                             (lp (cons (eval (car inits) env) env)
+                                 (1- nopt*) args (cdr inits))
+                             (lp (cons (car args) env)
+                                 (1- nopt*) (cdr args) (cdr inits)))
+                         ;; Finished with optionals.
+                         (let* ((aok (car kw))
+                                (kw (cdr kw))
+                                (kw-base (+ nopt nreq (if rest? 1 0)))
+                                (imax (let lp ((imax (1- kw-base)) (kw kw))
+                                        (if (null? kw)
+                                            imax
+                                            (lp (max (cdar kw) imax)
+                                                (cdr kw)))))
+                                ;; Fill in kwargs  with "undefined" vals.
+                                (env (let lp ((i kw-base)
+                                              ;; Also, here we bind the rest
+                                              ;; arg, if any.
+                                              (env (if rest? (cons args env) 
env)))
+                                       (if (<= i imax)
+                                           (lp (1+ i) (cons unbound-arg env))
+                                           env))))
+                           ;; Now scan args for keywords.
+                           (let lp ((args args))
+                             (if (and (pair? args) (pair? (cdr args))
+                                      (keyword? (car args)))
+                                 (let ((kw-pair (assq (car args) kw))
+                                       (v (cadr args)))
+                                   (if kw-pair
+                                       ;; Found a known keyword; set its value.
+                                       (list-set! env (- imax (cdr kw-pair)) v)
+                                       ;; Unknown keyword.
+                                       (if (not aok)
+                                           (scm-error 'keyword-argument-error
+                                                      "eval" "Unrecognized 
keyword"
+                                                      '() #f)))
+                                   (lp (cddr args)))
+                                 (if (pair? args)
+                                     (if rest?
+                                         ;; Be lenient parsing rest args.
+                                         (lp (cdr args))
+                                         (scm-error 'keyword-argument-error
+                                                    "eval" "Invalid keyword"
+                                                    '() #f))
+                                     ;; Finished parsing keywords. Fill in
+                                     ;; uninitialized kwargs by evalling init
+                                     ;; expressions in their appropriate
+                                     ;; environment.
+                                     (let lp ((i (- imax kw-base))
+                                              (inits inits))
+                                       (if (pair? inits)
+                                           (let ((tail (list-tail env i)))
+                                             (if (eq? (car tail) unbound-arg)
+                                                 (set-car! tail
+                                                           (eval (car inits)
+                                                                 (cdr tail))))
+                                             (lp (1- i) (cdr inits)))
+                                           ;; Finally, eval the body.
+                                           (eval body env)))))))))))))))
 
     ;; The "engine". EXP is a memoized expression.
     (define (eval exp env)
@@ -404,7 +422,10 @@
               (memoize-variable-access! exp #f))))
 
         (('define (name . x))
-         (define! name (eval x env)))
+         (let ((x (eval x env)))
+           (if (and (procedure? x) (not (procedure-property x 'name)))
+               (set-procedure-property! x 'name name))
+           (define! name x)))
       
         (('toplevel-set! (var-or-sym . x))
          (variable-set!
diff --git a/module/ice-9/getopt-long.scm b/module/ice-9/getopt-long.scm
index 12f8c94..930ac0d 100644
--- a/module/ice-9/getopt-long.scm
+++ b/module/ice-9/getopt-long.scm
@@ -164,9 +164,9 @@
   #:use-module (ice-9 optargs)
   #:export (getopt-long option-ref))
 
-(define %program-name (make-fluid))
+(define %program-name (make-fluid "guile"))
 (define (program-name)
-  (or (fluid-ref %program-name) "guile"))
+  (fluid-ref %program-name))
 
 (define (fatal-error fmt . args)
   (format (current-error-port) "~a: " (program-name))
diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm
index d563bbf..68c7667 100644
--- a/module/ice-9/psyntax-pp.scm
+++ b/module/ice-9/psyntax-pp.scm
@@ -2,2060 +2,1997 @@
 (if #f #f)
 
 (letrec*
-  ((#{top-level-eval-hook 4373}#
-     (lambda (#{x 35449}# #{mod 35450}#)
-       (primitive-eval #{x 35449}#)))
-   (#{maybe-name-value! 4378}#
-     (lambda (#{name 18994}# #{val 18995}#)
-       (if (if (struct? #{val 18995}#)
-             (eq? (struct-vtable #{val 18995}#)
+  ((#{top-level-eval-hook 4370}#
+     (lambda (#{x 35759}# #{mod 35760}#)
+       (primitive-eval #{x 35759}#)))
+   (#{maybe-name-value! 4375}#
+     (lambda (#{name 18991}# #{val 18992}#)
+       (if (if (struct? #{val 18992}#)
+             (eq? (struct-vtable #{val 18992}#)
                   (vector-ref %expanded-vtables 14))
              #f)
-         (let ((#{meta 19002}# (struct-ref #{val 18995}# 1)))
-           (if (not (assq 'name #{meta 19002}#))
-             (let ((#{v 19007}#
-                     (cons (cons 'name #{name 18994}#) #{meta 19002}#)))
-               (struct-set! #{val 18995}# 1 #{v 19007}#)))))))
-   (#{build-call 4380}#
-     (lambda (#{source 18739}#
-              #{fun-exp 18740}#
-              #{arg-exps 18741}#)
+         (let ((#{meta 18999}# (struct-ref #{val 18992}# 1)))
+           (if (not (assq 'name #{meta 18999}#))
+             (let ((#{v 19004}#
+                     (cons (cons 'name #{name 18991}#) #{meta 18999}#)))
+               (struct-set! #{val 18992}# 1 #{v 19004}#)))))))
+   (#{build-call 4377}#
+     (lambda (#{source 18736}#
+              #{fun-exp 18737}#
+              #{arg-exps 18738}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 11)
-         #{source 18739}#
-         #{fun-exp 18740}#
-         #{arg-exps 18741}#)))
-   (#{build-conditional 4381}#
-     (lambda (#{source 18747}#
-              #{test-exp 18748}#
-              #{then-exp 18749}#
-              #{else-exp 18750}#)
+         #{source 18736}#
+         #{fun-exp 18737}#
+         #{arg-exps 18738}#)))
+   (#{build-conditional 4378}#
+     (lambda (#{source 18744}#
+              #{test-exp 18745}#
+              #{then-exp 18746}#
+              #{else-exp 18747}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 10)
-         #{source 18747}#
-         #{test-exp 18748}#
-         #{then-exp 18749}#
-         #{else-exp 18750}#)))
-   (#{build-dynlet 4382}#
-     (lambda (#{source 18757}#
-              #{fluids 18758}#
-              #{vals 18759}#
-              #{body 18760}#)
+         #{source 18744}#
+         #{test-exp 18745}#
+         #{then-exp 18746}#
+         #{else-exp 18747}#)))
+   (#{build-dynlet 4379}#
+     (lambda (#{source 18754}#
+              #{fluids 18755}#
+              #{vals 18756}#
+              #{body 18757}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 18)
-         #{source 18757}#
-         #{fluids 18758}#
-         #{vals 18759}#
-         #{body 18760}#)))
-   (#{build-lexical-reference 4383}#
-     (lambda (#{type 35451}#
-              #{source 35452}#
-              #{name 35453}#
-              #{var 35454}#)
+         #{source 18754}#
+         #{fluids 18755}#
+         #{vals 18756}#
+         #{body 18757}#)))
+   (#{build-lexical-reference 4380}#
+     (lambda (#{type 35761}#
+              #{source 35762}#
+              #{name 35763}#
+              #{var 35764}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 3)
-         #{source 35452}#
-         #{name 35453}#
-         #{var 35454}#)))
-   (#{build-lexical-assignment 4384}#
-     (lambda (#{source 18767}#
-              #{name 18768}#
-              #{var 18769}#
-              #{exp 18770}#)
+         #{source 35762}#
+         #{name 35763}#
+         #{var 35764}#)))
+   (#{build-lexical-assignment 4381}#
+     (lambda (#{source 18764}#
+              #{name 18765}#
+              #{var 18766}#
+              #{exp 18767}#)
        (begin
-         (if (if (struct? #{exp 18770}#)
-               (eq? (struct-vtable #{exp 18770}#)
+         (if (if (struct? #{exp 18767}#)
+               (eq? (struct-vtable #{exp 18767}#)
                     (vector-ref %expanded-vtables 14))
                #f)
-           (let ((#{meta 18786}# (struct-ref #{exp 18770}# 1)))
-             (if (not (assq 'name #{meta 18786}#))
-               (let ((#{v 18793}#
-                       (cons (cons 'name #{name 18768}#) #{meta 18786}#)))
-                 (struct-set! #{exp 18770}# 1 #{v 18793}#)))))
+           (let ((#{meta 18783}# (struct-ref #{exp 18767}# 1)))
+             (if (not (assq 'name #{meta 18783}#))
+               (let ((#{v 18790}#
+                       (cons (cons 'name #{name 18765}#) #{meta 18783}#)))
+                 (struct-set! #{exp 18767}# 1 #{v 18790}#)))))
          (make-struct/no-tail
            (vector-ref %expanded-vtables 4)
-           #{source 18767}#
-           #{name 18768}#
-           #{var 18769}#
-           #{exp 18770}#))))
-   (#{analyze-variable 4385}#
-     (lambda (#{mod 35460}#
-              #{var 35461}#
-              #{modref-cont 35462}#
-              #{bare-cont 35463}#)
-       (if (not #{mod 35460}#)
-         (#{bare-cont 35463}# #{var 35461}#)
-         (let ((#{kind 35464}# (car #{mod 35460}#))
-               (#{mod 35465}# (cdr #{mod 35460}#)))
-           (if (eqv? #{kind 35464}# 'public)
-             (#{modref-cont 35462}#
-               #{mod 35465}#
-               #{var 35461}#
+           #{source 18764}#
+           #{name 18765}#
+           #{var 18766}#
+           #{exp 18767}#))))
+   (#{analyze-variable 4382}#
+     (lambda (#{mod 35770}#
+              #{var 35771}#
+              #{modref-cont 35772}#
+              #{bare-cont 35773}#)
+       (if (not #{mod 35770}#)
+         (#{bare-cont 35773}# #{var 35771}#)
+         (let ((#{kind 35774}# (car #{mod 35770}#))
+               (#{mod 35775}# (cdr #{mod 35770}#)))
+           (if (eqv? #{kind 35774}# 'public)
+             (#{modref-cont 35772}#
+               #{mod 35775}#
+               #{var 35771}#
                #t)
-             (if (eqv? #{kind 35464}# 'private)
+             (if (eqv? #{kind 35774}# 'private)
                (if (not (equal?
-                          #{mod 35465}#
+                          #{mod 35775}#
                           (module-name (current-module))))
-                 (#{modref-cont 35462}#
-                   #{mod 35465}#
-                   #{var 35461}#
+                 (#{modref-cont 35772}#
+                   #{mod 35775}#
+                   #{var 35771}#
                    #f)
-                 (#{bare-cont 35463}# #{var 35461}#))
-               (if (eqv? #{kind 35464}# 'bare)
-                 (#{bare-cont 35463}# #{var 35461}#)
-                 (if (eqv? #{kind 35464}# 'hygiene)
+                 (#{bare-cont 35773}# #{var 35771}#))
+               (if (eqv? #{kind 35774}# 'bare)
+                 (#{bare-cont 35773}# #{var 35771}#)
+                 (if (eqv? #{kind 35774}# 'hygiene)
                    (if (if (not (equal?
-                                  #{mod 35465}#
+                                  #{mod 35775}#
                                   (module-name (current-module))))
                          (module-variable
-                           (resolve-module #{mod 35465}#)
-                           #{var 35461}#)
+                           (resolve-module #{mod 35775}#)
+                           #{var 35771}#)
                          #f)
-                     (#{modref-cont 35462}#
-                       #{mod 35465}#
-                       #{var 35461}#
+                     (#{modref-cont 35772}#
+                       #{mod 35775}#
+                       #{var 35771}#
                        #f)
-                     (#{bare-cont 35463}# #{var 35461}#))
+                     (#{bare-cont 35773}# #{var 35771}#))
                    (syntax-violation
                      #f
                      "bad module kind"
-                     #{var 35461}#
-                     #{mod 35465}#)))))))))
-   (#{build-global-reference 4386}#
-     (lambda (#{source 35480}# #{var 35481}# #{mod 35482}#)
-       (#{analyze-variable 4385}#
-         #{mod 35482}#
-         #{var 35481}#
-         (lambda (#{mod 35485}# #{var 35486}# #{public? 35487}#)
+                     #{var 35771}#
+                     #{mod 35775}#)))))))))
+   (#{build-global-reference 4383}#
+     (lambda (#{source 35790}# #{var 35791}# #{mod 35792}#)
+       (#{analyze-variable 4382}#
+         #{mod 35792}#
+         #{var 35791}#
+         (lambda (#{mod 35795}# #{var 35796}# #{public? 35797}#)
            (make-struct/no-tail
              (vector-ref %expanded-vtables 5)
-             #{source 35480}#
-             #{mod 35485}#
-             #{var 35486}#
-             #{public? 35487}#))
-         (lambda (#{var 35494}#)
+             #{source 35790}#
+             #{mod 35795}#
+             #{var 35796}#
+             #{public? 35797}#))
+         (lambda (#{var 35804}#)
            (make-struct/no-tail
              (vector-ref %expanded-vtables 7)
-             #{source 35480}#
-             #{var 35494}#)))))
-   (#{build-global-assignment 4387}#
-     (lambda (#{source 18802}#
-              #{var 18803}#
-              #{exp 18804}#
-              #{mod 18805}#)
+             #{source 35790}#
+             #{var 35804}#)))))
+   (#{build-global-assignment 4384}#
+     (lambda (#{source 18799}#
+              #{var 18800}#
+              #{exp 18801}#
+              #{mod 18802}#)
        (begin
-         (if (if (struct? #{exp 18804}#)
-               (eq? (struct-vtable #{exp 18804}#)
+         (if (if (struct? #{exp 18801}#)
+               (eq? (struct-vtable #{exp 18801}#)
                     (vector-ref %expanded-vtables 14))
                #f)
-           (let ((#{meta 18821}# (struct-ref #{exp 18804}# 1)))
-             (if (not (assq 'name #{meta 18821}#))
-               (let ((#{v 18828}#
-                       (cons (cons 'name #{var 18803}#) #{meta 18821}#)))
-                 (struct-set! #{exp 18804}# 1 #{v 18828}#)))))
-         (#{analyze-variable 4385}#
-           #{mod 18805}#
-           #{var 18803}#
-           (lambda (#{mod 18833}# #{var 18834}# #{public? 18835}#)
+           (let ((#{meta 18818}# (struct-ref #{exp 18801}# 1)))
+             (if (not (assq 'name #{meta 18818}#))
+               (let ((#{v 18825}#
+                       (cons (cons 'name #{var 18800}#) #{meta 18818}#)))
+                 (struct-set! #{exp 18801}# 1 #{v 18825}#)))))
+         (#{analyze-variable 4382}#
+           #{mod 18802}#
+           #{var 18800}#
+           (lambda (#{mod 18830}# #{var 18831}# #{public? 18832}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 6)
-               #{source 18802}#
-               #{mod 18833}#
-               #{var 18834}#
-               #{public? 18835}#
-               #{exp 18804}#))
-           (lambda (#{var 18843}#)
+               #{source 18799}#
+               #{mod 18830}#
+               #{var 18831}#
+               #{public? 18832}#
+               #{exp 18801}#))
+           (lambda (#{var 18840}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 8)
-               #{source 18802}#
-               #{var 18843}#
-               #{exp 18804}#))))))
-   (#{build-global-definition 4388}#
-     (lambda (#{source 35499}# #{var 35500}# #{exp 35501}#)
+               #{source 18799}#
+               #{var 18840}#
+               #{exp 18801}#))))))
+   (#{build-global-definition 4385}#
+     (lambda (#{source 35809}# #{var 35810}# #{exp 35811}#)
        (begin
-         (if (if (struct? #{exp 35501}#)
-               (eq? (struct-vtable #{exp 35501}#)
+         (if (if (struct? #{exp 35811}#)
+               (eq? (struct-vtable #{exp 35811}#)
                     (vector-ref %expanded-vtables 14))
                #f)
-           (let ((#{meta 35517}# (struct-ref #{exp 35501}# 1)))
-             (if (not (assq 'name #{meta 35517}#))
-               (let ((#{v 35524}#
-                       (cons (cons 'name #{var 35500}#) #{meta 35517}#)))
-                 (struct-set! #{exp 35501}# 1 #{v 35524}#)))))
+           (let ((#{meta 35827}# (struct-ref #{exp 35811}# 1)))
+             (if (not (assq 'name #{meta 35827}#))
+               (let ((#{v 35834}#
+                       (cons (cons 'name #{var 35810}#) #{meta 35827}#)))
+                 (struct-set! #{exp 35811}# 1 #{v 35834}#)))))
          (make-struct/no-tail
            (vector-ref %expanded-vtables 9)
-           #{source 35499}#
-           #{var 35500}#
-           #{exp 35501}#))))
-   (#{build-simple-lambda 4389}#
-     (lambda (#{src 18849}#
-              #{req 18850}#
-              #{rest 18851}#
-              #{vars 18852}#
-              #{meta 18853}#
-              #{exp 18854}#)
-       (let ((#{body 18860}#
+           #{source 35809}#
+           #{var 35810}#
+           #{exp 35811}#))))
+   (#{build-simple-lambda 4386}#
+     (lambda (#{src 18846}#
+              #{req 18847}#
+              #{rest 18848}#
+              #{vars 18849}#
+              #{meta 18850}#
+              #{exp 18851}#)
+       (let ((#{body 18857}#
                (make-struct/no-tail
                  (vector-ref %expanded-vtables 15)
-                 #{src 18849}#
-                 #{req 18850}#
+                 #{src 18846}#
+                 #{req 18847}#
                  #f
-                 #{rest 18851}#
+                 #{rest 18848}#
                  #f
                  '()
-                 #{vars 18852}#
-                 #{exp 18854}#
+                 #{vars 18849}#
+                 #{exp 18851}#
                  #f)))
          (make-struct/no-tail
            (vector-ref %expanded-vtables 14)
-           #{src 18849}#
-           #{meta 18853}#
-           #{body 18860}#))))
-   (#{build-primcall 4392}#
-     (lambda (#{src 18872}# #{name 18873}# #{args 18874}#)
+           #{src 18846}#
+           #{meta 18850}#
+           #{body 18857}#))))
+   (#{build-primcall 4389}#
+     (lambda (#{src 18869}# #{name 18870}# #{args 18871}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 12)
-         #{src 18872}#
-         #{name 18873}#
-         #{args 18874}#)))
-   (#{build-sequence 4395}#
-     (lambda (#{src 35532}# #{exps 35533}#)
-       (if (null? (cdr #{exps 35533}#))
-         (car #{exps 35533}#)
-         (let ((#{head 35537}# (car #{exps 35533}#))
-               (#{tail 35538}#
-                 (#{build-sequence 4395}# #f (cdr #{exps 35533}#))))
+         #{src 18869}#
+         #{name 18870}#
+         #{args 18871}#)))
+   (#{build-sequence 4392}#
+     (lambda (#{src 35842}# #{exps 35843}#)
+       (if (null? (cdr #{exps 35843}#))
+         (car #{exps 35843}#)
+         (let ((#{head 35847}# (car #{exps 35843}#))
+               (#{tail 35848}#
+                 (#{build-sequence 4392}# #f (cdr #{exps 35843}#))))
            (make-struct/no-tail
              (vector-ref %expanded-vtables 13)
-             #{src 35532}#
-             #{head 35537}#
-             #{tail 35538}#)))))
-   (#{build-named-let 4397}#
-     (lambda (#{src 18880}#
-              #{ids 18881}#
-              #{vars 18882}#
-              #{val-exps 18883}#
-              #{body-exp 18884}#)
-       (let ((#{f 18885}# (car #{vars 18882}#))
-             (#{f-name 18886}# (car #{ids 18881}#))
-             (#{vars 18887}# (cdr #{vars 18882}#))
-             (#{ids 18888}# (cdr #{ids 18881}#)))
-         (let ((#{proc 18889}#
-                 (let ((#{body 18909}#
+             #{src 35842}#
+             #{head 35847}#
+             #{tail 35848}#)))))
+   (#{build-named-let 4394}#
+     (lambda (#{src 18877}#
+              #{ids 18878}#
+              #{vars 18879}#
+              #{val-exps 18880}#
+              #{body-exp 18881}#)
+       (let ((#{f 18882}# (car #{vars 18879}#))
+             (#{f-name 18883}# (car #{ids 18878}#))
+             (#{vars 18884}# (cdr #{vars 18879}#))
+             (#{ids 18885}# (cdr #{ids 18878}#)))
+         (let ((#{proc 18886}#
+                 (let ((#{body 18906}#
                          (make-struct/no-tail
                            (vector-ref %expanded-vtables 15)
-                           #{src 18880}#
-                           #{ids 18888}#
+                           #{src 18877}#
+                           #{ids 18885}#
                            #f
                            #f
                            #f
                            '()
-                           #{vars 18887}#
-                           #{body-exp 18884}#
+                           #{vars 18884}#
+                           #{body-exp 18881}#
                            #f)))
                    (make-struct/no-tail
                      (vector-ref %expanded-vtables 14)
-                     #{src 18880}#
+                     #{src 18877}#
                      '()
-                     #{body 18909}#))))
+                     #{body 18906}#))))
            (begin
-             (if (if (struct? #{proc 18889}#)
-                   (eq? (struct-vtable #{proc 18889}#)
+             (if (if (struct? #{proc 18886}#)
+                   (eq? (struct-vtable #{proc 18886}#)
                         (vector-ref %expanded-vtables 14))
                    #f)
-               (let ((#{meta 18933}# (struct-ref #{proc 18889}# 1)))
-                 (if (not (assq 'name #{meta 18933}#))
-                   (let ((#{v 18940}#
-                           (cons (cons 'name #{f-name 18886}#)
-                                 #{meta 18933}#)))
-                     (struct-set! #{proc 18889}# 1 #{v 18940}#)))))
+               (let ((#{meta 18930}# (struct-ref #{proc 18886}# 1)))
+                 (if (not (assq 'name #{meta 18930}#))
+                   (let ((#{v 18937}#
+                           (cons (cons 'name #{f-name 18883}#)
+                                 #{meta 18930}#)))
+                     (struct-set! #{proc 18886}# 1 #{v 18937}#)))))
              (for-each
-               #{maybe-name-value! 4378}#
-               #{ids 18888}#
-               #{val-exps 18883}#)
-             (let ((#{names 18964}# (list #{f-name 18886}#))
-                   (#{gensyms 18965}# (list #{f 18885}#))
-                   (#{vals 18966}# (list #{proc 18889}#))
-                   (#{body 18967}#
-                     (let ((#{fun-exp 18971}#
+               #{maybe-name-value! 4375}#
+               #{ids 18885}#
+               #{val-exps 18880}#)
+             (let ((#{names 18961}# (list #{f-name 18883}#))
+                   (#{gensyms 18962}# (list #{f 18882}#))
+                   (#{vals 18963}# (list #{proc 18886}#))
+                   (#{body 18964}#
+                     (let ((#{fun-exp 18968}#
                              (make-struct/no-tail
                                (vector-ref %expanded-vtables 3)
-                               #{src 18880}#
-                               #{f-name 18886}#
-                               #{f 18885}#)))
+                               #{src 18877}#
+                               #{f-name 18883}#
+                               #{f 18882}#)))
                        (make-struct/no-tail
                          (vector-ref %expanded-vtables 11)
-                         #{src 18880}#
-                         #{fun-exp 18971}#
-                         #{val-exps 18883}#))))
+                         #{src 18877}#
+                         #{fun-exp 18968}#
+                         #{val-exps 18880}#))))
                (make-struct/no-tail
                  (vector-ref %expanded-vtables 17)
-                 #{src 18880}#
+                 #{src 18877}#
                  #f
-                 #{names 18964}#
-                 #{gensyms 18965}#
-                 #{vals 18966}#
-                 #{body 18967}#)))))))
-   (#{build-letrec 4398}#
-     (lambda (#{src 18987}#
-              #{in-order? 18988}#
-              #{ids 18989}#
-              #{vars 18990}#
-              #{val-exps 18991}#
-              #{body-exp 18992}#)
-       (if (null? #{vars 18990}#)
-         #{body-exp 18992}#
+                 #{names 18961}#
+                 #{gensyms 18962}#
+                 #{vals 18963}#
+                 #{body 18964}#)))))))
+   (#{build-letrec 4395}#
+     (lambda (#{src 18984}#
+              #{in-order? 18985}#
+              #{ids 18986}#
+              #{vars 18987}#
+              #{val-exps 18988}#
+              #{body-exp 18989}#)
+       (if (null? #{vars 18987}#)
+         #{body-exp 18989}#
          (begin
            (for-each
-             #{maybe-name-value! 4378}#
-             #{ids 18989}#
-             #{val-exps 18991}#)
+             #{maybe-name-value! 4375}#
+             #{ids 18986}#
+             #{val-exps 18988}#)
            (make-struct/no-tail
              (vector-ref %expanded-vtables 17)
-             #{src 18987}#
-             #{in-order? 18988}#
-             #{ids 18989}#
-             #{vars 18990}#
-             #{val-exps 18991}#
-             #{body-exp 18992}#)))))
-   (#{source-annotation 4407}#
-     (lambda (#{x 19018}#)
-       (if (if (vector? #{x 19018}#)
-             (if (= (vector-length #{x 19018}#) 4)
-               (eq? (vector-ref #{x 19018}# 0) 'syntax-object)
+             #{src 18984}#
+             #{in-order? 18985}#
+             #{ids 18986}#
+             #{vars 18987}#
+             #{val-exps 18988}#
+             #{body-exp 18989}#)))))
+   (#{source-annotation 4404}#
+     (lambda (#{x 19015}#)
+       (if (if (vector? #{x 19015}#)
+             (if (= (vector-length #{x 19015}#) 4)
+               (eq? (vector-ref #{x 19015}# 0) 'syntax-object)
                #f)
              #f)
-         (#{source-annotation 4407}#
-           (vector-ref #{x 19018}# 1))
-         (if (pair? #{x 19018}#)
-           (let ((#{props 19033}# (source-properties #{x 19018}#)))
-             (if (pair? #{props 19033}#) #{props 19033}# #f))
+         (#{source-annotation 4404}#
+           (vector-ref #{x 19015}# 1))
+         (if (pair? #{x 19015}#)
+           (let ((#{props 19030}# (source-properties #{x 19015}#)))
+             (if (pair? #{props 19030}#) #{props 19030}# #f))
            #f))))
-   (#{extend-env 4408}#
-     (lambda (#{labels 19035}# #{bindings 19036}# #{r 19037}#)
+   (#{extend-env 4405}#
+     (lambda (#{labels 19032}# #{bindings 19033}# #{r 19034}#)
+       (if (null? #{labels 19032}#)
+         #{r 19034}#
+         (#{extend-env 4405}#
+           (cdr #{labels 19032}#)
+           (cdr #{bindings 19033}#)
+           (cons (cons (car #{labels 19032}#)
+                       (car #{bindings 19033}#))
+                 #{r 19034}#)))))
+   (#{extend-var-env 4406}#
+     (lambda (#{labels 19035}# #{vars 19036}# #{r 19037}#)
        (if (null? #{labels 19035}#)
          #{r 19037}#
-         (#{extend-env 4408}#
+         (#{extend-var-env 4406}#
            (cdr #{labels 19035}#)
-           (cdr #{bindings 19036}#)
+           (cdr #{vars 19036}#)
            (cons (cons (car #{labels 19035}#)
-                       (car #{bindings 19036}#))
+                       (cons 'lexical (car #{vars 19036}#)))
                  #{r 19037}#)))))
-   (#{extend-var-env 4409}#
-     (lambda (#{labels 19038}# #{vars 19039}# #{r 19040}#)
-       (if (null? #{labels 19038}#)
-         #{r 19040}#
-         (#{extend-var-env 4409}#
-           (cdr #{labels 19038}#)
-           (cdr #{vars 19039}#)
-           (cons (cons (car #{labels 19038}#)
-                       (cons 'lexical (car #{vars 19039}#)))
-                 #{r 19040}#)))))
-   (#{macros-only-env 4410}#
-     (lambda (#{r 19041}#)
-       (if (null? #{r 19041}#)
+   (#{macros-only-env 4407}#
+     (lambda (#{r 19038}#)
+       (if (null? #{r 19038}#)
          '()
-         (let ((#{a 19042}# (car #{r 19041}#)))
-           (if (let ((#{t 19045}# (car (cdr #{a 19042}#))))
-                 (if (eq? #{t 19045}# 'macro)
+         (let ((#{a 19039}# (car #{r 19038}#)))
+           (if (let ((#{t 19042}# (car (cdr #{a 19039}#))))
+                 (if (eq? #{t 19042}# 'macro)
                    #t
-                   (eq? #{t 19045}# 'syntax-parameter)))
-             (cons #{a 19042}#
-                   (#{macros-only-env 4410}# (cdr #{r 19041}#)))
-             (#{macros-only-env 4410}# (cdr #{r 19041}#)))))))
-   (#{global-extend 4411}#
-     (lambda (#{type 19047}# #{sym 19048}# #{val 19049}#)
+                   (eq? #{t 19042}# 'syntax-parameter)))
+             (cons #{a 19039}#
+                   (#{macros-only-env 4407}# (cdr #{r 19038}#)))
+             (#{macros-only-env 4407}# (cdr #{r 19038}#)))))))
+   (#{global-extend 4408}#
+     (lambda (#{type 19044}# #{sym 19045}# #{val 19046}#)
        (module-define!
          (current-module)
-         #{sym 19048}#
+         #{sym 19045}#
          (make-syntax-transformer
-           #{sym 19048}#
-           #{type 19047}#
-           #{val 19049}#))))
-   (#{id? 4413}#
-     (lambda (#{x 11971}#)
-       (if (symbol? #{x 11971}#)
+           #{sym 19045}#
+           #{type 19044}#
+           #{val 19046}#))))
+   (#{id? 4410}#
+     (lambda (#{x 11968}#)
+       (if (symbol? #{x 11968}#)
          #t
-         (if (if (vector? #{x 11971}#)
-               (if (= (vector-length #{x 11971}#) 4)
-                 (eq? (vector-ref #{x 11971}# 0) 'syntax-object)
+         (if (if (vector? #{x 11968}#)
+               (if (= (vector-length #{x 11968}#) 4)
+                 (eq? (vector-ref #{x 11968}# 0) 'syntax-object)
                  #f)
                #f)
-           (symbol? (vector-ref #{x 11971}# 1))
+           (symbol? (vector-ref #{x 11968}# 1))
            #f))))
-   (#{gen-labels 4416}#
-     (lambda (#{ls 19059}#)
-       (if (null? #{ls 19059}#)
+   (#{gen-labels 4413}#
+     (lambda (#{ls 19056}#)
+       (if (null? #{ls 19056}#)
          '()
          (cons (symbol->string (gensym "i"))
-               (#{gen-labels 4416}# (cdr #{ls 19059}#))))))
-   (#{make-binding-wrap 4427}#
-     (lambda (#{ids 19063}# #{labels 19064}# #{w 19065}#)
-       (if (null? #{ids 19063}#)
-         #{w 19065}#
-         (cons (car #{w 19065}#)
-               (cons (let ((#{labelvec 19066}#
-                             (list->vector #{labels 19064}#)))
-                       (let ((#{n 19067}# (vector-length #{labelvec 19066}#)))
-                         (let ((#{symnamevec 19068}# (make-vector #{n 19067}#))
-                               (#{marksvec 19069}# (make-vector #{n 19067}#)))
+               (#{gen-labels 4413}# (cdr #{ls 19056}#))))))
+   (#{make-binding-wrap 4424}#
+     (lambda (#{ids 19060}# #{labels 19061}# #{w 19062}#)
+       (if (null? #{ids 19060}#)
+         #{w 19062}#
+         (cons (car #{w 19062}#)
+               (cons (let ((#{labelvec 19063}#
+                             (list->vector #{labels 19061}#)))
+                       (let ((#{n 19064}# (vector-length #{labelvec 19063}#)))
+                         (let ((#{symnamevec 19065}# (make-vector #{n 19064}#))
+                               (#{marksvec 19066}# (make-vector #{n 19064}#)))
                            (begin
                              (letrec*
-                               ((#{f 19070}#
-                                  (lambda (#{ids 19269}# #{i 19270}#)
-                                    (if (not (null? #{ids 19269}#))
+                               ((#{f 19067}#
+                                  (lambda (#{ids 19266}# #{i 19267}#)
+                                    (if (not (null? #{ids 19266}#))
                                       (call-with-values
                                         (lambda ()
-                                          (let ((#{x 19273}#
-                                                  (car #{ids 19269}#)))
-                                            (if (if (vector? #{x 19273}#)
+                                          (let ((#{x 19270}#
+                                                  (car #{ids 19266}#)))
+                                            (if (if (vector? #{x 19270}#)
                                                   (if (= (vector-length
-                                                           #{x 19273}#)
+                                                           #{x 19270}#)
                                                          4)
                                                     (eq? (vector-ref
-                                                           #{x 19273}#
+                                                           #{x 19270}#
                                                            0)
                                                          'syntax-object)
                                                     #f)
                                                   #f)
                                               (values
-                                                (vector-ref #{x 19273}# 1)
-                                                (let ((#{m1 19289}#
-                                                        (car #{w 19065}#))
-                                                      (#{m2 19290}#
+                                                (vector-ref #{x 19270}# 1)
+                                                (let ((#{m1 19286}#
+                                                        (car #{w 19062}#))
+                                                      (#{m2 19287}#
                                                         (car (vector-ref
-                                                               #{x 19273}#
+                                                               #{x 19270}#
                                                                2))))
-                                                  (if (null? #{m2 19290}#)
-                                                    #{m1 19289}#
+                                                  (if (null? #{m2 19287}#)
+                                                    #{m1 19286}#
                                                     (append
-                                                      #{m1 19289}#
-                                                      #{m2 19290}#))))
+                                                      #{m1 19286}#
+                                                      #{m2 19287}#))))
                                               (values
-                                                #{x 19273}#
-                                                (car #{w 19065}#)))))
-                                        (lambda (#{symname 19310}#
-                                                 #{marks 19311}#)
+                                                #{x 19270}#
+                                                (car #{w 19062}#)))))
+                                        (lambda (#{symname 19307}#
+                                                 #{marks 19308}#)
                                           (begin
                                             (vector-set!
-                                              #{symnamevec 19068}#
-                                              #{i 19270}#
-                                              #{symname 19310}#)
+                                              #{symnamevec 19065}#
+                                              #{i 19267}#
+                                              #{symname 19307}#)
                                             (vector-set!
-                                              #{marksvec 19069}#
-                                              #{i 19270}#
-                                              #{marks 19311}#)
-                                            (#{f 19070}#
-                                              (cdr #{ids 19269}#)
-                                              (#{1+}# #{i 19270}#)))))))))
-                               (#{f 19070}# #{ids 19063}# 0))
+                                              #{marksvec 19066}#
+                                              #{i 19267}#
+                                              #{marks 19308}#)
+                                            (#{f 19067}#
+                                              (cdr #{ids 19266}#)
+                                              (#{1+}# #{i 19267}#)))))))))
+                               (#{f 19067}# #{ids 19060}# 0))
                              (vector
                                'ribcage
-                               #{symnamevec 19068}#
-                               #{marksvec 19069}#
-                               #{labelvec 19066}#)))))
-                     (cdr #{w 19065}#))))))
-   (#{same-marks? 4431}#
-     (lambda (#{x 35539}# #{y 35540}#)
-       (if (eq? #{x 35539}# #{y 35540}#)
-         (eq? #{x 35539}# #{y 35540}#)
-         (if (not (null? #{x 35539}#))
-           (if (not (null? #{y 35540}#))
-             (if (eq? (car #{x 35539}#) (car #{y 35540}#))
-               (#{same-marks? 4431}#
-                 (cdr #{x 35539}#)
-                 (cdr #{y 35540}#))
+                               #{symnamevec 19065}#
+                               #{marksvec 19066}#
+                               #{labelvec 19063}#)))))
+                     (cdr #{w 19062}#))))))
+   (#{same-marks? 4428}#
+     (lambda (#{x 35849}# #{y 35850}#)
+       (if (eq? #{x 35849}# #{y 35850}#)
+         (eq? #{x 35849}# #{y 35850}#)
+         (if (not (null? #{x 35849}#))
+           (if (not (null? #{y 35850}#))
+             (if (eq? (car #{x 35849}#) (car #{y 35850}#))
+               (#{same-marks? 4428}#
+                 (cdr #{x 35849}#)
+                 (cdr #{y 35850}#))
                #f)
              #f)
            #f))))
-   (#{id-var-name 4432}#
-     (lambda (#{id 35548}# #{w 35549}# #{mod 35550}#)
+   (#{id-var-name 4429}#
+     (lambda (#{id 35858}# #{w 35859}# #{mod 35860}#)
        (letrec*
-         ((#{search 35551}#
-            (lambda (#{sym 35617}#
-                     #{subst 35618}#
-                     #{marks 35619}#
-                     #{mod 35620}#)
-              (if (null? #{subst 35618}#)
-                (values #f #{marks 35619}#)
-                (let ((#{fst 35621}# (car #{subst 35618}#)))
-                  (if (eq? #{fst 35621}# 'shift)
-                    (#{search 35551}#
-                      #{sym 35617}#
-                      (cdr #{subst 35618}#)
-                      (cdr #{marks 35619}#)
-                      #{mod 35620}#)
-                    (let ((#{symnames 35623}# (vector-ref #{fst 35621}# 1)))
-                      (if (vector? #{symnames 35623}#)
-                        (#{search-vector-rib 35553}#
-                          #{sym 35617}#
-                          #{subst 35618}#
-                          #{marks 35619}#
-                          #{symnames 35623}#
-                          #{fst 35621}#
-                          #{mod 35620}#)
-                        (#{search-list-rib 35552}#
-                          #{sym 35617}#
-                          #{subst 35618}#
-                          #{marks 35619}#
-                          #{symnames 35623}#
-                          #{fst 35621}#
-                          #{mod 35620}#))))))))
-          (#{search-list-rib 35552}#
-            (lambda (#{sym 35798}#
-                     #{subst 35799}#
-                     #{marks 35800}#
-                     #{symnames 35801}#
-                     #{ribcage 35802}#
-                     #{mod 35803}#)
+         ((#{search 35861}#
+            (lambda (#{sym 35927}#
+                     #{subst 35928}#
+                     #{marks 35929}#
+                     #{mod 35930}#)
+              (if (null? #{subst 35928}#)
+                (values #f #{marks 35929}#)
+                (let ((#{fst 35931}# (car #{subst 35928}#)))
+                  (if (eq? #{fst 35931}# 'shift)
+                    (#{search 35861}#
+                      #{sym 35927}#
+                      (cdr #{subst 35928}#)
+                      (cdr #{marks 35929}#)
+                      #{mod 35930}#)
+                    (let ((#{symnames 35933}# (vector-ref #{fst 35931}# 1)))
+                      (if (vector? #{symnames 35933}#)
+                        (#{search-vector-rib 35863}#
+                          #{sym 35927}#
+                          #{subst 35928}#
+                          #{marks 35929}#
+                          #{symnames 35933}#
+                          #{fst 35931}#
+                          #{mod 35930}#)
+                        (#{search-list-rib 35862}#
+                          #{sym 35927}#
+                          #{subst 35928}#
+                          #{marks 35929}#
+                          #{symnames 35933}#
+                          #{fst 35931}#
+                          #{mod 35930}#))))))))
+          (#{search-list-rib 35862}#
+            (lambda (#{sym 36108}#
+                     #{subst 36109}#
+                     #{marks 36110}#
+                     #{symnames 36111}#
+                     #{ribcage 36112}#
+                     #{mod 36113}#)
               (letrec*
-                ((#{f 35804}#
-                   (lambda (#{symnames 35807}# #{i 35808}#)
-                     (if (null? #{symnames 35807}#)
-                       (#{search 35551}#
-                         #{sym 35798}#
-                         (cdr #{subst 35799}#)
-                         #{marks 35800}#
-                         #{mod 35803}#)
-                       (if (if (eq? (car #{symnames 35807}#) #{sym 35798}#)
-                             (#{same-marks? 4431}#
-                               #{marks 35800}#
+                ((#{f 36114}#
+                   (lambda (#{symnames 36117}# #{i 36118}#)
+                     (if (null? #{symnames 36117}#)
+                       (#{search 35861}#
+                         #{sym 36108}#
+                         (cdr #{subst 36109}#)
+                         #{marks 36110}#
+                         #{mod 36113}#)
+                       (if (if (eq? (car #{symnames 36117}#) #{sym 36108}#)
+                             (#{same-marks? 4428}#
+                               #{marks 36110}#
                                (list-ref
-                                 (vector-ref #{ribcage 35802}# 2)
-                                 #{i 35808}#))
+                                 (vector-ref #{ribcage 36112}# 2)
+                                 #{i 36118}#))
                              #f)
-                         (let ((#{n 35954}#
+                         (let ((#{n 36264}#
                                  (list-ref
-                                   (vector-ref #{ribcage 35802}# 3)
-                                   #{i 35808}#)))
-                           (if (pair? #{n 35954}#)
-                             (if (equal? #{mod 35803}# (car #{n 35954}#))
-                               (values (cdr #{n 35954}#) #{marks 35800}#)
-                               (#{f 35804}#
-                                 (cdr #{symnames 35807}#)
-                                 (#{1+}# #{i 35808}#)))
-                             (values #{n 35954}# #{marks 35800}#)))
-                         (#{f 35804}#
-                           (cdr #{symnames 35807}#)
-                           (#{1+}# #{i 35808}#)))))))
-                (#{f 35804}# #{symnames 35801}# 0))))
-          (#{search-vector-rib 35553}#
-            (lambda (#{sym 35959}#
-                     #{subst 35960}#
-                     #{marks 35961}#
-                     #{symnames 35962}#
-                     #{ribcage 35963}#
-                     #{mod 35964}#)
-              (let ((#{n 35965}# (vector-length #{symnames 35962}#)))
+                                   (vector-ref #{ribcage 36112}# 3)
+                                   #{i 36118}#)))
+                           (if (pair? #{n 36264}#)
+                             (if (equal? #{mod 36113}# (car #{n 36264}#))
+                               (values (cdr #{n 36264}#) #{marks 36110}#)
+                               (#{f 36114}#
+                                 (cdr #{symnames 36117}#)
+                                 (#{1+}# #{i 36118}#)))
+                             (values #{n 36264}# #{marks 36110}#)))
+                         (#{f 36114}#
+                           (cdr #{symnames 36117}#)
+                           (#{1+}# #{i 36118}#)))))))
+                (#{f 36114}# #{symnames 36111}# 0))))
+          (#{search-vector-rib 35863}#
+            (lambda (#{sym 36269}#
+                     #{subst 36270}#
+                     #{marks 36271}#
+                     #{symnames 36272}#
+                     #{ribcage 36273}#
+                     #{mod 36274}#)
+              (let ((#{n 36275}# (vector-length #{symnames 36272}#)))
                 (letrec*
-                  ((#{f 35966}#
-                     (lambda (#{i 35969}#)
-                       (if (= #{i 35969}# #{n 35965}#)
-                         (#{search 35551}#
-                           #{sym 35959}#
-                           (cdr #{subst 35960}#)
-                           #{marks 35961}#
-                           #{mod 35964}#)
+                  ((#{f 36276}#
+                     (lambda (#{i 36279}#)
+                       (if (= #{i 36279}# #{n 36275}#)
+                         (#{search 35861}#
+                           #{sym 36269}#
+                           (cdr #{subst 36270}#)
+                           #{marks 36271}#
+                           #{mod 36274}#)
                          (if (if (eq? (vector-ref
-                                        #{symnames 35962}#
-                                        #{i 35969}#)
-                                      #{sym 35959}#)
-                               (#{same-marks? 4431}#
-                                 #{marks 35961}#
+                                        #{symnames 36272}#
+                                        #{i 36279}#)
+                                      #{sym 36269}#)
+                               (#{same-marks? 4428}#
+                                 #{marks 36271}#
                                  (vector-ref
-                                   (vector-ref #{ribcage 35963}# 2)
-                                   #{i 35969}#))
+                                   (vector-ref #{ribcage 36273}# 2)
+                                   #{i 36279}#))
                                #f)
-                           (let ((#{n 36116}#
+                           (let ((#{n 36426}#
                                    (vector-ref
-                                     (vector-ref #{ribcage 35963}# 3)
-                                     #{i 35969}#)))
-                             (if (pair? #{n 36116}#)
-                               (if (equal? #{mod 35964}# (car #{n 36116}#))
-                                 (values (cdr #{n 36116}#) #{marks 35961}#)
-                                 (#{f 35966}# (#{1+}# #{i 35969}#)))
-                               (values #{n 36116}# #{marks 35961}#)))
-                           (#{f 35966}# (#{1+}# #{i 35969}#)))))))
-                  (#{f 35966}# 0))))))
-         (if (symbol? #{id 35548}#)
-           (let ((#{t 35554}#
-                   (#{search 35551}#
-                     #{id 35548}#
-                     (cdr #{w 35549}#)
-                     (car #{w 35549}#)
-                     #{mod 35550}#)))
-             (if #{t 35554}# #{t 35554}# #{id 35548}#))
-           (if (if (vector? #{id 35548}#)
-                 (if (= (vector-length #{id 35548}#) 4)
-                   (eq? (vector-ref #{id 35548}# 0) 'syntax-object)
+                                     (vector-ref #{ribcage 36273}# 3)
+                                     #{i 36279}#)))
+                             (if (pair? #{n 36426}#)
+                               (if (equal? #{mod 36274}# (car #{n 36426}#))
+                                 (values (cdr #{n 36426}#) #{marks 36271}#)
+                                 (#{f 36276}# (#{1+}# #{i 36279}#)))
+                               (values #{n 36426}# #{marks 36271}#)))
+                           (#{f 36276}# (#{1+}# #{i 36279}#)))))))
+                  (#{f 36276}# 0))))))
+         (if (symbol? #{id 35858}#)
+           (let ((#{t 35864}#
+                   (#{search 35861}#
+                     #{id 35858}#
+                     (cdr #{w 35859}#)
+                     (car #{w 35859}#)
+                     #{mod 35860}#)))
+             (if #{t 35864}# #{t 35864}# #{id 35858}#))
+           (if (if (vector? #{id 35858}#)
+                 (if (= (vector-length #{id 35858}#) 4)
+                   (eq? (vector-ref #{id 35858}# 0) 'syntax-object)
                    #f)
                  #f)
-             (let ((#{id 35569}# (vector-ref #{id 35548}# 1))
-                   (#{w1 35570}# (vector-ref #{id 35548}# 2))
-                   (#{mod 35571}# (vector-ref #{id 35548}# 3)))
-               (let ((#{marks 35572}#
-                       (let ((#{m1 35582}# (car #{w 35549}#))
-                             (#{m2 35583}# (car #{w1 35570}#)))
-                         (if (null? #{m2 35583}#)
-                           #{m1 35582}#
-                           (append #{m1 35582}# #{m2 35583}#)))))
+             (let ((#{id 35879}# (vector-ref #{id 35858}# 1))
+                   (#{w1 35880}# (vector-ref #{id 35858}# 2))
+                   (#{mod 35881}# (vector-ref #{id 35858}# 3)))
+               (let ((#{marks 35882}#
+                       (let ((#{m1 35892}# (car #{w 35859}#))
+                             (#{m2 35893}# (car #{w1 35880}#)))
+                         (if (null? #{m2 35893}#)
+                           #{m1 35892}#
+                           (append #{m1 35892}# #{m2 35893}#)))))
                  (call-with-values
                    (lambda ()
-                     (#{search 35551}#
-                       #{id 35569}#
-                       (cdr #{w 35549}#)
-                       #{marks 35572}#
-                       #{mod 35571}#))
-                   (lambda (#{new-id 35603}# #{marks 35604}#)
-                     (if #{new-id 35603}#
-                       #{new-id 35603}#
-                       (let ((#{t 35612}#
-                               (#{search 35551}#
-                                 #{id 35569}#
-                                 (cdr #{w1 35570}#)
-                                 #{marks 35604}#
-                                 #{mod 35571}#)))
-                         (if #{t 35612}# #{t 35612}# #{id 35569}#)))))))
+                     (#{search 35861}#
+                       #{id 35879}#
+                       (cdr #{w 35859}#)
+                       #{marks 35882}#
+                       #{mod 35881}#))
+                   (lambda (#{new-id 35913}# #{marks 35914}#)
+                     (if #{new-id 35913}#
+                       #{new-id 35913}#
+                       (let ((#{t 35922}#
+                               (#{search 35861}#
+                                 #{id 35879}#
+                                 (cdr #{w1 35880}#)
+                                 #{marks 35914}#
+                                 #{mod 35881}#)))
+                         (if #{t 35922}# #{t 35922}# #{id 35879}#)))))))
              (syntax-violation
                'id-var-name
                "invalid id"
-               #{id 35548}#))))))
-   (#{resolve-identifier 4433}#
-     (lambda (#{id 19318}#
-              #{w 19319}#
-              #{r 19320}#
-              #{mod 19321}#
-              #{resolve-syntax-parameters? 19322}#)
-       (let ((#{n 19326}#
-               (#{id-var-name 4432}#
-                 #{id 19318}#
-                 #{w 19319}#
-                 #{mod 19321}#)))
-         (if (if (vector? #{n 19326}#)
-               (if (= (vector-length #{n 19326}#) 4)
-                 (eq? (vector-ref #{n 19326}# 0) 'syntax-object)
+               #{id 35858}#))))))
+   (#{resolve-identifier 4430}#
+     (lambda (#{id 19315}#
+              #{w 19316}#
+              #{r 19317}#
+              #{mod 19318}#
+              #{resolve-syntax-parameters? 19319}#)
+       (let ((#{n 19323}#
+               (#{id-var-name 4429}#
+                 #{id 19315}#
+                 #{w 19316}#
+                 #{mod 19318}#)))
+         (if (if (vector? #{n 19323}#)
+               (if (= (vector-length #{n 19323}#) 4)
+                 (eq? (vector-ref #{n 19323}# 0) 'syntax-object)
                  #f)
                #f)
-           (#{resolve-identifier 4433}#
-             #{n 19326}#
-             #{w 19319}#
-             #{r 19320}#
-             #{mod 19321}#
-             #{resolve-syntax-parameters? 19322}#)
-           (if (symbol? #{n 19326}#)
-             (let ((#{mod 19341}#
-                     (if (if (vector? #{id 19318}#)
-                           (if (= (vector-length #{id 19318}#) 4)
-                             (eq? (vector-ref #{id 19318}# 0) 'syntax-object)
+           (#{resolve-identifier 4430}#
+             #{n 19323}#
+             #{w 19316}#
+             #{r 19317}#
+             #{mod 19318}#
+             #{resolve-syntax-parameters? 19319}#)
+           (if (symbol? #{n 19323}#)
+             (let ((#{mod 19338}#
+                     (if (if (vector? #{id 19315}#)
+                           (if (= (vector-length #{id 19315}#) 4)
+                             (eq? (vector-ref #{id 19315}# 0) 'syntax-object)
                              #f)
                            #f)
-                       (vector-ref #{id 19318}# 3)
-                       #{mod 19321}#)))
-               (let ((#{b 19342}#
-                       (let ((#{b 19345}#
-                               (let ((#{t 19346}#
+                       (vector-ref #{id 19315}# 3)
+                       #{mod 19318}#)))
+               (let ((#{b 19339}#
+                       (let ((#{b 19342}#
+                               (let ((#{t 19343}#
                                        (begin
-                                         (if (if (not #{mod 19341}#)
+                                         (if (if (not #{mod 19338}#)
                                                (current-module)
                                                #f)
                                            (warn "module system is booted, we 
should have a module"
-                                                 #{n 19326}#))
-                                         (let ((#{v 19395}#
+                                                 #{n 19323}#))
+                                         (let ((#{v 19392}#
                                                  (module-variable
-                                                   (if #{mod 19341}#
+                                                   (if #{mod 19338}#
                                                      (resolve-module
-                                                       (cdr #{mod 19341}#))
+                                                       (cdr #{mod 19338}#))
                                                      (current-module))
-                                                   #{n 19326}#)))
-                                           (if #{v 19395}#
-                                             (if (variable-bound? #{v 19395}#)
-                                               (let ((#{val 19404}#
+                                                   #{n 19323}#)))
+                                           (if #{v 19392}#
+                                             (if (variable-bound? #{v 19392}#)
+                                               (let ((#{val 19401}#
                                                        (variable-ref
-                                                         #{v 19395}#)))
-                                                 (if (macro? #{val 19404}#)
+                                                         #{v 19392}#)))
+                                                 (if (macro? #{val 19401}#)
                                                    (if (macro-type
-                                                         #{val 19404}#)
+                                                         #{val 19401}#)
                                                      (cons (macro-type
-                                                             #{val 19404}#)
+                                                             #{val 19401}#)
                                                            (macro-binding
-                                                             #{val 19404}#))
+                                                             #{val 19401}#))
                                                      #f)
                                                    #f))
                                                #f)
                                              #f)))))
-                                 (if #{t 19346}# #{t 19346}# '(global)))))
-                         (if (if #{resolve-syntax-parameters? 19322}#
-                               (eq? (car #{b 19345}#) 'syntax-parameter)
+                                 (if #{t 19343}# #{t 19343}# '(global)))))
+                         (if (if #{resolve-syntax-parameters? 19319}#
+                               (eq? (car #{b 19342}#) 'syntax-parameter)
                                #f)
-                           (let ((#{t 19413}#
-                                   (assq-ref #{r 19320}# (cdr #{b 19345}#))))
-                             (if #{t 19413}#
-                               #{t 19413}#
-                               (cons 'macro (car (cdr #{b 19345}#)))))
-                           #{b 19345}#))))
-                 (if (eq? (car #{b 19342}#) 'global)
-                   (values 'global #{n 19326}# #{mod 19341}#)
+                           (let ((#{t 19410}#
+                                   (assq-ref #{r 19317}# (cdr #{b 19342}#))))
+                             (if #{t 19410}#
+                               #{t 19410}#
+                               (cons 'macro (car (cdr #{b 19342}#)))))
+                           #{b 19342}#))))
+                 (if (eq? (car #{b 19339}#) 'global)
+                   (values 'global #{n 19323}# #{mod 19338}#)
                    (values
-                     (car #{b 19342}#)
-                     (cdr #{b 19342}#)
-                     #{mod 19341}#))))
-             (if (string? #{n 19326}#)
-               (let ((#{mod 19419}#
-                       (if (if (vector? #{id 19318}#)
-                             (if (= (vector-length #{id 19318}#) 4)
-                               (eq? (vector-ref #{id 19318}# 0) 'syntax-object)
+                     (car #{b 19339}#)
+                     (cdr #{b 19339}#)
+                     #{mod 19338}#))))
+             (if (string? #{n 19323}#)
+               (let ((#{mod 19416}#
+                       (if (if (vector? #{id 19315}#)
+                             (if (= (vector-length #{id 19315}#) 4)
+                               (eq? (vector-ref #{id 19315}# 0) 'syntax-object)
                                #f)
                              #f)
-                         (vector-ref #{id 19318}# 3)
-                         #{mod 19321}#)))
-                 (let ((#{b 19420}#
-                         (let ((#{b 19423}#
-                                 (let ((#{t 19424}#
-                                         (assq-ref #{r 19320}# #{n 19326}#)))
-                                   (if #{t 19424}#
-                                     #{t 19424}#
+                         (vector-ref #{id 19315}# 3)
+                         #{mod 19318}#)))
+                 (let ((#{b 19417}#
+                         (let ((#{b 19420}#
+                                 (let ((#{t 19421}#
+                                         (assq-ref #{r 19317}# #{n 19323}#)))
+                                   (if #{t 19421}#
+                                     #{t 19421}#
                                      '(displaced-lexical)))))
-                           (if (if #{resolve-syntax-parameters? 19322}#
-                                 (eq? (car #{b 19423}#) 'syntax-parameter)
+                           (if (if #{resolve-syntax-parameters? 19319}#
+                                 (eq? (car #{b 19420}#) 'syntax-parameter)
                                  #f)
-                             (let ((#{t 19425}#
-                                     (assq-ref #{r 19320}# (cdr #{b 19423}#))))
-                               (if #{t 19425}#
-                                 #{t 19425}#
-                                 (cons 'macro (car (cdr #{b 19423}#)))))
-                             #{b 19423}#))))
+                             (let ((#{t 19422}#
+                                     (assq-ref #{r 19317}# (cdr #{b 19420}#))))
+                               (if #{t 19422}#
+                                 #{t 19422}#
+                                 (cons 'macro (car (cdr #{b 19420}#)))))
+                             #{b 19420}#))))
                    (values
-                     (car #{b 19420}#)
-                     (cdr #{b 19420}#)
-                     #{mod 19419}#)))
+                     (car #{b 19417}#)
+                     (cdr #{b 19417}#)
+                     #{mod 19416}#)))
                (error "unexpected id-var-name"
-                      #{id 19318}#
-                      #{w 19319}#
-                      #{n 19326}#)))))))
-   (#{free-id=? 4434}#
-     (lambda (#{i 19438}# #{j 19439}#)
-       (let ((#{mi 19440}#
-               (if (if (vector? #{i 19438}#)
-                     (if (= (vector-length #{i 19438}#) 4)
-                       (eq? (vector-ref #{i 19438}# 0) 'syntax-object)
+                      #{id 19315}#
+                      #{w 19316}#
+                      #{n 19323}#)))))))
+   (#{free-id=? 4431}#
+     (lambda (#{i 19435}# #{j 19436}#)
+       (let ((#{mi 19437}#
+               (if (if (vector? #{i 19435}#)
+                     (if (= (vector-length #{i 19435}#) 4)
+                       (eq? (vector-ref #{i 19435}# 0) 'syntax-object)
                        #f)
                      #f)
-                 (vector-ref #{i 19438}# 3)
+                 (vector-ref #{i 19435}# 3)
                  #f)))
-         (let ((#{mj 19441}#
-                 (if (if (vector? #{j 19439}#)
-                       (if (= (vector-length #{j 19439}#) 4)
-                         (eq? (vector-ref #{j 19439}# 0) 'syntax-object)
+         (let ((#{mj 19438}#
+                 (if (if (vector? #{j 19436}#)
+                       (if (= (vector-length #{j 19436}#) 4)
+                         (eq? (vector-ref #{j 19436}# 0) 'syntax-object)
                          #f)
                        #f)
-                   (vector-ref #{j 19439}# 3)
+                   (vector-ref #{j 19436}# 3)
                    #f)))
-           (let ((#{ni 19442}#
-                   (#{id-var-name 4432}#
-                     #{i 19438}#
+           (let ((#{ni 19439}#
+                   (#{id-var-name 4429}#
+                     #{i 19435}#
                      '(())
-                     #{mi 19440}#)))
-             (let ((#{nj 19443}#
-                     (#{id-var-name 4432}#
-                       #{j 19439}#
+                     #{mi 19437}#)))
+             (let ((#{nj 19440}#
+                     (#{id-var-name 4429}#
+                       #{j 19436}#
                        '(())
-                       #{mj 19441}#)))
-               (if (if (vector? #{ni 19442}#)
-                     (if (= (vector-length #{ni 19442}#) 4)
-                       (eq? (vector-ref #{ni 19442}# 0) 'syntax-object)
+                       #{mj 19438}#)))
+               (if (if (vector? #{ni 19439}#)
+                     (if (= (vector-length #{ni 19439}#) 4)
+                       (eq? (vector-ref #{ni 19439}# 0) 'syntax-object)
                        #f)
                      #f)
-                 (#{free-id=? 4434}# #{ni 19442}# #{j 19439}#)
-                 (if (if (vector? #{nj 19443}#)
-                       (if (= (vector-length #{nj 19443}#) 4)
-                         (eq? (vector-ref #{nj 19443}# 0) 'syntax-object)
+                 (#{free-id=? 4431}# #{ni 19439}# #{j 19436}#)
+                 (if (if (vector? #{nj 19440}#)
+                       (if (= (vector-length #{nj 19440}#) 4)
+                         (eq? (vector-ref #{nj 19440}# 0) 'syntax-object)
                          #f)
                        #f)
-                   (#{free-id=? 4434}# #{i 19438}# #{nj 19443}#)
-                   (if (symbol? #{ni 19442}#)
-                     (if (eq? #{nj 19443}#
-                              (if (if (vector? #{j 19439}#)
-                                    (if (= (vector-length #{j 19439}#) 4)
-                                      (eq? (vector-ref #{j 19439}# 0)
+                   (#{free-id=? 4431}# #{i 19435}# #{nj 19440}#)
+                   (if (symbol? #{ni 19439}#)
+                     (if (eq? #{nj 19440}#
+                              (if (if (vector? #{j 19436}#)
+                                    (if (= (vector-length #{j 19436}#) 4)
+                                      (eq? (vector-ref #{j 19436}# 0)
                                            'syntax-object)
                                       #f)
                                     #f)
-                                (vector-ref #{j 19439}# 1)
-                                #{j 19439}#))
-                       (if (let ((#{bi 19515}#
+                                (vector-ref #{j 19436}# 1)
+                                #{j 19436}#))
+                       (if (let ((#{bi 19512}#
                                    (module-variable
-                                     (if #{mi 19440}#
-                                       (resolve-module (cdr #{mi 19440}#))
+                                     (if #{mi 19437}#
+                                       (resolve-module (cdr #{mi 19437}#))
                                        (current-module))
-                                     (if (if (vector? #{i 19438}#)
-                                           (if (= (vector-length #{i 19438}#)
+                                     (if (if (vector? #{i 19435}#)
+                                           (if (= (vector-length #{i 19435}#)
                                                   4)
-                                             (eq? (vector-ref #{i 19438}# 0)
+                                             (eq? (vector-ref #{i 19435}# 0)
                                                   'syntax-object)
                                              #f)
                                            #f)
-                                       (vector-ref #{i 19438}# 1)
-                                       #{i 19438}#))))
-                             (if #{bi 19515}#
-                               (eq? #{bi 19515}#
+                                       (vector-ref #{i 19435}# 1)
+                                       #{i 19435}#))))
+                             (if #{bi 19512}#
+                               (eq? #{bi 19512}#
                                     (module-variable
-                                      (if #{mj 19441}#
-                                        (resolve-module (cdr #{mj 19441}#))
+                                      (if #{mj 19438}#
+                                        (resolve-module (cdr #{mj 19438}#))
                                         (current-module))
-                                      (if (if (vector? #{j 19439}#)
-                                            (if (= (vector-length #{j 19439}#)
+                                      (if (if (vector? #{j 19436}#)
+                                            (if (= (vector-length #{j 19436}#)
                                                    4)
-                                              (eq? (vector-ref #{j 19439}# 0)
+                                              (eq? (vector-ref #{j 19436}# 0)
                                                    'syntax-object)
                                               #f)
                                             #f)
-                                        (vector-ref #{j 19439}# 1)
-                                        #{j 19439}#)))
+                                        (vector-ref #{j 19436}# 1)
+                                        #{j 19436}#)))
                                (if (not (module-variable
-                                          (if #{mj 19441}#
-                                            (resolve-module (cdr #{mj 19441}#))
+                                          (if #{mj 19438}#
+                                            (resolve-module (cdr #{mj 19438}#))
                                             (current-module))
-                                          (if (if (vector? #{j 19439}#)
+                                          (if (if (vector? #{j 19436}#)
                                                 (if (= (vector-length
-                                                         #{j 19439}#)
+                                                         #{j 19436}#)
                                                        4)
                                                   (eq? (vector-ref
-                                                         #{j 19439}#
+                                                         #{j 19436}#
                                                          0)
                                                        'syntax-object)
                                                   #f)
                                                 #f)
-                                            (vector-ref #{j 19439}# 1)
-                                            #{j 19439}#)))
-                                 (eq? #{ni 19442}# #{nj 19443}#)
+                                            (vector-ref #{j 19436}# 1)
+                                            #{j 19436}#)))
+                                 (eq? #{ni 19439}# #{nj 19440}#)
                                  #f)))
                          (eq? (module-variable
-                                (if #{mi 19440}#
-                                  (resolve-module (cdr #{mi 19440}#))
+                                (if #{mi 19437}#
+                                  (resolve-module (cdr #{mi 19437}#))
                                   (current-module))
-                                (if (if (vector? #{i 19438}#)
-                                      (if (= (vector-length #{i 19438}#) 4)
-                                        (eq? (vector-ref #{i 19438}# 0)
+                                (if (if (vector? #{i 19435}#)
+                                      (if (= (vector-length #{i 19435}#) 4)
+                                        (eq? (vector-ref #{i 19435}# 0)
                                              'syntax-object)
                                         #f)
                                       #f)
-                                  (vector-ref #{i 19438}# 1)
-                                  #{i 19438}#))
+                                  (vector-ref #{i 19435}# 1)
+                                  #{i 19435}#))
                               (module-variable
-                                (if #{mj 19441}#
-                                  (resolve-module (cdr #{mj 19441}#))
+                                (if #{mj 19438}#
+                                  (resolve-module (cdr #{mj 19438}#))
                                   (current-module))
-                                (if (if (vector? #{j 19439}#)
-                                      (if (= (vector-length #{j 19439}#) 4)
-                                        (eq? (vector-ref #{j 19439}# 0)
+                                (if (if (vector? #{j 19436}#)
+                                      (if (= (vector-length #{j 19436}#) 4)
+                                        (eq? (vector-ref #{j 19436}# 0)
                                              'syntax-object)
                                         #f)
                                       #f)
-                                  (vector-ref #{j 19439}# 1)
-                                  #{j 19439}#)))
+                                  (vector-ref #{j 19436}# 1)
+                                  #{j 19436}#)))
                          #f)
                        #f)
-                     (equal? #{ni 19442}# #{nj 19443}#))))))))))
-   (#{bound-id=? 4435}#
-     (lambda (#{i 19708}# #{j 19709}#)
-       (if (if (if (vector? #{i 19708}#)
-                 (if (= (vector-length #{i 19708}#) 4)
-                   (eq? (vector-ref #{i 19708}# 0) 'syntax-object)
+                     (equal? #{ni 19439}# #{nj 19440}#))))))))))
+   (#{bound-id=? 4432}#
+     (lambda (#{i 19705}# #{j 19706}#)
+       (if (if (if (vector? #{i 19705}#)
+                 (if (= (vector-length #{i 19705}#) 4)
+                   (eq? (vector-ref #{i 19705}# 0) 'syntax-object)
                    #f)
                  #f)
-             (if (vector? #{j 19709}#)
-               (if (= (vector-length #{j 19709}#) 4)
-                 (eq? (vector-ref #{j 19709}# 0) 'syntax-object)
+             (if (vector? #{j 19706}#)
+               (if (= (vector-length #{j 19706}#) 4)
+                 (eq? (vector-ref #{j 19706}# 0) 'syntax-object)
                  #f)
                #f)
              #f)
-         (if (eq? (vector-ref #{i 19708}# 1)
-                  (vector-ref #{j 19709}# 1))
-           (#{same-marks? 4431}#
-             (car (vector-ref #{i 19708}# 2))
-             (car (vector-ref #{j 19709}# 2)))
+         (if (eq? (vector-ref #{i 19705}# 1)
+                  (vector-ref #{j 19706}# 1))
+           (#{same-marks? 4428}#
+             (car (vector-ref #{i 19705}# 2))
+             (car (vector-ref #{j 19706}# 2)))
            #f)
-         (eq? #{i 19708}# #{j 19709}#))))
-   (#{valid-bound-ids? 4436}#
-     (lambda (#{ids 19878}#)
+         (eq? #{i 19705}# #{j 19706}#))))
+   (#{valid-bound-ids? 4433}#
+     (lambda (#{ids 19875}#)
        (if (letrec*
-             ((#{all-ids? 19879}#
-                (lambda (#{ids 20076}#)
-                  (if (null? #{ids 20076}#)
-                    (null? #{ids 20076}#)
-                    (if (let ((#{x 20087}# (car #{ids 20076}#)))
-                          (if (symbol? #{x 20087}#)
+             ((#{all-ids? 19876}#
+                (lambda (#{ids 20073}#)
+                  (if (null? #{ids 20073}#)
+                    (null? #{ids 20073}#)
+                    (if (let ((#{x 20084}# (car #{ids 20073}#)))
+                          (if (symbol? #{x 20084}#)
                             #t
-                            (if (if (vector? #{x 20087}#)
-                                  (if (= (vector-length #{x 20087}#) 4)
-                                    (eq? (vector-ref #{x 20087}# 0)
+                            (if (if (vector? #{x 20084}#)
+                                  (if (= (vector-length #{x 20084}#) 4)
+                                    (eq? (vector-ref #{x 20084}# 0)
                                          'syntax-object)
                                     #f)
                                   #f)
-                              (symbol? (vector-ref #{x 20087}# 1))
+                              (symbol? (vector-ref #{x 20084}# 1))
                               #f)))
-                      (#{all-ids? 19879}# (cdr #{ids 20076}#))
+                      (#{all-ids? 19876}# (cdr #{ids 20073}#))
                       #f)))))
-             (#{all-ids? 19879}# #{ids 19878}#))
-         (#{distinct-bound-ids? 4437}# #{ids 19878}#)
+             (#{all-ids? 19876}# #{ids 19875}#))
+         (#{distinct-bound-ids? 4434}# #{ids 19875}#)
          #f)))
-   (#{distinct-bound-ids? 4437}#
-     (lambda (#{ids 20208}#)
+   (#{distinct-bound-ids? 4434}#
+     (lambda (#{ids 20205}#)
        (letrec*
-         ((#{distinct? 20209}#
-            (lambda (#{ids 20314}#)
-              (if (null? #{ids 20314}#)
-                (null? #{ids 20314}#)
-                (if (not (#{bound-id-member? 4438}#
-                           (car #{ids 20314}#)
-                           (cdr #{ids 20314}#)))
-                  (#{distinct? 20209}# (cdr #{ids 20314}#))
+         ((#{distinct? 20206}#
+            (lambda (#{ids 20311}#)
+              (if (null? #{ids 20311}#)
+                (null? #{ids 20311}#)
+                (if (not (#{bound-id-member? 4435}#
+                           (car #{ids 20311}#)
+                           (cdr #{ids 20311}#)))
+                  (#{distinct? 20206}# (cdr #{ids 20311}#))
                   #f)))))
-         (#{distinct? 20209}# #{ids 20208}#))))
-   (#{bound-id-member? 4438}#
-     (lambda (#{x 20410}# #{list 20411}#)
-       (if (not (null? #{list 20411}#))
-         (let ((#{t 20412}#
-                 (#{bound-id=? 4435}#
-                   #{x 20410}#
-                   (car #{list 20411}#))))
-           (if #{t 20412}#
-             #{t 20412}#
-             (#{bound-id-member? 4438}#
-               #{x 20410}#
-               (cdr #{list 20411}#))))
+         (#{distinct? 20206}# #{ids 20205}#))))
+   (#{bound-id-member? 4435}#
+     (lambda (#{x 20407}# #{list 20408}#)
+       (if (not (null? #{list 20408}#))
+         (let ((#{t 20409}#
+                 (#{bound-id=? 4432}#
+                   #{x 20407}#
+                   (car #{list 20408}#))))
+           (if #{t 20409}#
+             #{t 20409}#
+             (#{bound-id-member? 4435}#
+               #{x 20407}#
+               (cdr #{list 20408}#))))
          #f)))
-   (#{source-wrap 4440}#
-     (lambda (#{x 20590}#
-              #{w 20591}#
-              #{s 20592}#
-              #{defmod 20593}#)
-       (let ((#{x 20597}#
+   (#{source-wrap 4437}#
+     (lambda (#{x 20587}#
+              #{w 20588}#
+              #{s 20589}#
+              #{defmod 20590}#)
+       (let ((#{x 20594}#
                (begin
-                 (if (if (pair? #{x 20590}#) #{s 20592}# #f)
-                   (set-source-properties! #{x 20590}# #{s 20592}#))
-                 #{x 20590}#)))
-         (if (if (null? (car #{w 20591}#))
-               (null? (cdr #{w 20591}#))
+                 (if (if (pair? #{x 20587}#) #{s 20589}# #f)
+                   (set-source-properties! #{x 20587}# #{s 20589}#))
+                 #{x 20587}#)))
+         (if (if (null? (car #{w 20588}#))
+               (null? (cdr #{w 20588}#))
                #f)
-           #{x 20597}#
-           (if (if (vector? #{x 20597}#)
-                 (if (= (vector-length #{x 20597}#) 4)
-                   (eq? (vector-ref #{x 20597}# 0) 'syntax-object)
+           #{x 20594}#
+           (if (if (vector? #{x 20594}#)
+                 (if (= (vector-length #{x 20594}#) 4)
+                   (eq? (vector-ref #{x 20594}# 0) 'syntax-object)
                    #f)
                  #f)
-             (let ((#{expression 20629}# (vector-ref #{x 20597}# 1))
-                   (#{wrap 20630}#
-                     (let ((#{w2 20638}# (vector-ref #{x 20597}# 2)))
-                       (let ((#{m1 20639}# (car #{w 20591}#))
-                             (#{s1 20640}# (cdr #{w 20591}#)))
-                         (if (null? #{m1 20639}#)
-                           (if (null? #{s1 20640}#)
-                             #{w2 20638}#
-                             (cons (car #{w2 20638}#)
-                                   (let ((#{m2 20655}# (cdr #{w2 20638}#)))
-                                     (if (null? #{m2 20655}#)
-                                       #{s1 20640}#
-                                       (append #{s1 20640}# #{m2 20655}#)))))
-                           (cons (let ((#{m2 20663}# (car #{w2 20638}#)))
-                                   (if (null? #{m2 20663}#)
-                                     #{m1 20639}#
-                                     (append #{m1 20639}# #{m2 20663}#)))
-                                 (let ((#{m2 20671}# (cdr #{w2 20638}#)))
-                                   (if (null? #{m2 20671}#)
-                                     #{s1 20640}#
-                                     (append #{s1 20640}# #{m2 20671}#))))))))
-                   (#{module 20631}# (vector-ref #{x 20597}# 3)))
+             (let ((#{expression 20626}# (vector-ref #{x 20594}# 1))
+                   (#{wrap 20627}#
+                     (let ((#{w2 20635}# (vector-ref #{x 20594}# 2)))
+                       (let ((#{m1 20636}# (car #{w 20588}#))
+                             (#{s1 20637}# (cdr #{w 20588}#)))
+                         (if (null? #{m1 20636}#)
+                           (if (null? #{s1 20637}#)
+                             #{w2 20635}#
+                             (cons (car #{w2 20635}#)
+                                   (let ((#{m2 20652}# (cdr #{w2 20635}#)))
+                                     (if (null? #{m2 20652}#)
+                                       #{s1 20637}#
+                                       (append #{s1 20637}# #{m2 20652}#)))))
+                           (cons (let ((#{m2 20660}# (car #{w2 20635}#)))
+                                   (if (null? #{m2 20660}#)
+                                     #{m1 20636}#
+                                     (append #{m1 20636}# #{m2 20660}#)))
+                                 (let ((#{m2 20668}# (cdr #{w2 20635}#)))
+                                   (if (null? #{m2 20668}#)
+                                     #{s1 20637}#
+                                     (append #{s1 20637}# #{m2 20668}#))))))))
+                   (#{module 20628}# (vector-ref #{x 20594}# 3)))
                (vector
                  'syntax-object
-                 #{expression 20629}#
-                 #{wrap 20630}#
-                 #{module 20631}#))
-             (if (null? #{x 20597}#)
-               #{x 20597}#
+                 #{expression 20626}#
+                 #{wrap 20627}#
+                 #{module 20628}#))
+             (if (null? #{x 20594}#)
+               #{x 20594}#
                (vector
                  'syntax-object
-                 #{x 20597}#
-                 #{w 20591}#
-                 #{defmod 20593}#)))))))
-   (#{chi-sequence 4441}#
-     (lambda (#{body 36121}#
-              #{r 36122}#
-              #{w 36123}#
-              #{s 36124}#
-              #{mod 36125}#)
-       (#{build-sequence 4395}#
-         #{s 36124}#
+                 #{x 20594}#
+                 #{w 20588}#
+                 #{defmod 20590}#)))))))
+   (#{expand-sequence 4438}#
+     (lambda (#{body 36431}#
+              #{r 36432}#
+              #{w 36433}#
+              #{s 36434}#
+              #{mod 36435}#)
+       (#{build-sequence 4392}#
+         #{s 36434}#
          (letrec*
-           ((#{dobody 36217}#
-              (lambda (#{body 36304}#
-                       #{r 36305}#
-                       #{w 36306}#
-                       #{mod 36307}#)
-                (if (null? #{body 36304}#)
+           ((#{dobody 36527}#
+              (lambda (#{body 36614}#
+                       #{r 36615}#
+                       #{w 36616}#
+                       #{mod 36617}#)
+                (if (null? #{body 36614}#)
                   '()
-                  (let ((#{first 36308}#
-                          (#{chi 4446}#
-                            (car #{body 36304}#)
-                            #{r 36305}#
-                            #{w 36306}#
-                            #{mod 36307}#)))
-                    (cons #{first 36308}#
-                          (#{dobody 36217}#
-                            (cdr #{body 36304}#)
-                            #{r 36305}#
-                            #{w 36306}#
-                            #{mod 36307}#)))))))
-           (#{dobody 36217}#
-             #{body 36121}#
-             #{r 36122}#
-             #{w 36123}#
-             #{mod 36125}#)))))
-   (#{chi-top-sequence 4442}#
-     (lambda (#{body 20686}#
-              #{r 20687}#
-              #{w 20688}#
-              #{s 20689}#
-              #{m 20690}#
-              #{esew 20691}#
-              #{mod 20692}#)
-       (let ((#{r 20693}#
-               (cons '("placeholder" placeholder) #{r 20687}#)))
-         (let ((#{ribcage 20694}# (vector 'ribcage '() '() '())))
-           (let ((#{w 20695}#
-                   (cons (car #{w 20688}#)
-                         (cons #{ribcage 20694}# (cdr #{w 20688}#)))))
+                  (let ((#{first 36618}#
+                          (#{expand 4443}#
+                            (car #{body 36614}#)
+                            #{r 36615}#
+                            #{w 36616}#
+                            #{mod 36617}#)))
+                    (cons #{first 36618}#
+                          (#{dobody 36527}#
+                            (cdr #{body 36614}#)
+                            #{r 36615}#
+                            #{w 36616}#
+                            #{mod 36617}#)))))))
+           (#{dobody 36527}#
+             #{body 36431}#
+             #{r 36432}#
+             #{w 36433}#
+             #{mod 36435}#)))))
+   (#{expand-top-sequence 4439}#
+     (lambda (#{body 20683}#
+              #{r 20684}#
+              #{w 20685}#
+              #{s 20686}#
+              #{m 20687}#
+              #{esew 20688}#
+              #{mod 20689}#)
+       (let ((#{r 20690}#
+               (cons '("placeholder" placeholder) #{r 20684}#)))
+         (let ((#{ribcage 20691}# (vector 'ribcage '() '() '())))
+           (let ((#{w 20692}#
+                   (cons (car #{w 20685}#)
+                         (cons #{ribcage 20691}# (cdr #{w 20685}#)))))
              (letrec*
-               ((#{record-definition! 20696}#
-                  (lambda (#{id 23703}# #{var 23704}#)
-                    (let ((#{mod 23705}#
+               ((#{record-definition! 20693}#
+                  (lambda (#{id 24185}# #{var 24186}#)
+                    (let ((#{mod 24187}#
                             (cons 'hygiene (module-name (current-module)))))
-                      (let ((#{label 23711}#
-                              (cons (vector-ref #{id 23703}# 3)
-                                    (if (if (vector? #{var 23704}#)
-                                          (if (= (vector-length #{var 23704}#)
+                      (let ((#{label 24193}#
+                              (cons (vector-ref #{id 24185}# 3)
+                                    (if (if (vector? #{var 24186}#)
+                                          (if (= (vector-length #{var 24186}#)
                                                  4)
-                                            (eq? (vector-ref #{var 23704}# 0)
+                                            (eq? (vector-ref #{var 24186}# 0)
                                                  'syntax-object)
                                             #f)
                                           #f)
-                                      (let ((#{expression 23773}#
-                                              (vector-ref #{var 23704}# 1))
-                                            (#{wrap 23774}#
-                                              (let ((#{w2 23784}#
+                                      (let ((#{expression 24255}#
+                                              (vector-ref #{var 24186}# 1))
+                                            (#{wrap 24256}#
+                                              (let ((#{w2 24266}#
                                                       (vector-ref
-                                                        #{var 23704}#
+                                                        #{var 24186}#
                                                         2)))
-                                                (cons (let ((#{m2 23791}#
-                                                              (car #{w2 
23784}#)))
-                                                        (if (null? #{m2 
23791}#)
+                                                (cons (let ((#{m2 24273}#
+                                                              (car #{w2 
24266}#)))
+                                                        (if (null? #{m2 
24273}#)
                                                           '(top)
                                                           (append
                                                             '(top)
-                                                            #{m2 23791}#)))
-                                                      (let ((#{m2 23800}#
-                                                              (cdr #{w2 
23784}#)))
-                                                        (if (null? #{m2 
23800}#)
+                                                            #{m2 24273}#)))
+                                                      (let ((#{m2 24282}#
+                                                              (cdr #{w2 
24266}#)))
+                                                        (if (null? #{m2 
24282}#)
                                                           '()
                                                           (append
                                                             '()
-                                                            #{m2 23800}#))))))
-                                            (#{module 23775}#
-                                              (vector-ref #{var 23704}# 3)))
+                                                            #{m2 24282}#))))))
+                                            (#{module 24257}#
+                                              (vector-ref #{var 24186}# 3)))
                                         (vector
                                           'syntax-object
-                                          #{expression 23773}#
-                                          #{wrap 23774}#
-                                          #{module 23775}#))
-                                      (if (null? #{var 23704}#)
-                                        #{var 23704}#
+                                          #{expression 24255}#
+                                          #{wrap 24256}#
+                                          #{module 24257}#))
+                                      (if (null? #{var 24186}#)
+                                        #{var 24186}#
                                         (vector
                                           'syntax-object
-                                          #{var 23704}#
+                                          #{var 24186}#
                                           '((top))
-                                          #{mod 23705}#))))))
+                                          #{mod 24187}#))))))
                         (begin
-                          (let ((#{update 23714}#
-                                  (cons (vector-ref #{id 23703}# 1)
-                                        (vector-ref #{ribcage 20694}# 1))))
+                          (let ((#{update 24196}#
+                                  (cons (vector-ref #{id 24185}# 1)
+                                        (vector-ref #{ribcage 20691}# 1))))
                             (vector-set!
-                              #{ribcage 20694}#
+                              #{ribcage 20691}#
                               1
-                              #{update 23714}#))
-                          (let ((#{update 23729}#
-                                  (cons (car (vector-ref #{id 23703}# 2))
-                                        (vector-ref #{ribcage 20694}# 2))))
+                              #{update 24196}#))
+                          (let ((#{update 24211}#
+                                  (cons (car (vector-ref #{id 24185}# 2))
+                                        (vector-ref #{ribcage 20691}# 2))))
                             (vector-set!
-                              #{ribcage 20694}#
+                              #{ribcage 20691}#
                               2
-                              #{update 23729}#))
-                          (let ((#{update 23744}#
-                                  (cons #{label 23711}#
-                                        (vector-ref #{ribcage 20694}# 3))))
+                              #{update 24211}#))
+                          (let ((#{update 24226}#
+                                  (cons #{label 24193}#
+                                        (vector-ref #{ribcage 20691}# 3))))
                             (vector-set!
-                              #{ribcage 20694}#
+                              #{ribcage 20691}#
                               3
-                              #{update 23744}#)))))))
-                (#{parse 20699}#
-                  (lambda (#{body 20904}#
-                           #{r 20905}#
-                           #{w 20906}#
-                           #{s 20907}#
-                           #{m 20908}#
-                           #{esew 20909}#
-                           #{mod 20910}#)
+                              #{update 24226}#)))))))
+                (#{parse 20696}#
+                  (lambda (#{body 20901}#
+                           #{r 20902}#
+                           #{w 20903}#
+                           #{s 20904}#
+                           #{m 20905}#
+                           #{esew 20906}#
+                           #{mod 20907}#)
                     (letrec*
-                      ((#{lp 20911}#
-                         (lambda (#{body 20998}# #{exps 20999}#)
-                           (if (null? #{body 20998}#)
-                             #{exps 20999}#
-                             (#{lp 20911}#
-                               (cdr #{body 20998}#)
+                      ((#{lp 20908}#
+                         (lambda (#{body 20995}# #{exps 20996}#)
+                           (if (null? #{body 20995}#)
+                             #{exps 20996}#
+                             (#{lp 20908}#
+                               (cdr #{body 20995}#)
                                (append
-                                 (#{parse1 20700}#
-                                   (car #{body 20998}#)
-                                   #{r 20905}#
-                                   #{w 20906}#
-                                   #{s 20907}#
-                                   #{m 20908}#
-                                   #{esew 20909}#
-                                   #{mod 20910}#)
-                                 #{exps 20999}#))))))
-                      (#{lp 20911}# #{body 20904}# '()))))
-                (#{parse1 20700}#
-                  (lambda (#{x 21073}#
-                           #{r 21074}#
-                           #{w 21075}#
-                           #{s 21076}#
-                           #{m 21077}#
-                           #{esew 21078}#
-                           #{mod 21079}#)
+                                 (#{parse1 20697}#
+                                   (car #{body 20995}#)
+                                   #{r 20902}#
+                                   #{w 20903}#
+                                   #{s 20904}#
+                                   #{m 20905}#
+                                   #{esew 20906}#
+                                   #{mod 20907}#)
+                                 #{exps 20996}#))))))
+                      (#{lp 20908}# #{body 20901}# '()))))
+                (#{parse1 20697}#
+                  (lambda (#{x 21070}#
+                           #{r 21071}#
+                           #{w 21072}#
+                           #{s 21073}#
+                           #{m 21074}#
+                           #{esew 21075}#
+                           #{mod 21076}#)
                     (call-with-values
                       (lambda ()
-                        (#{syntax-type 4445}#
-                          #{x 21073}#
-                          #{r 21074}#
-                          #{w 21075}#
-                          (#{source-annotation 4407}# #{x 21073}#)
-                          #{ribcage 20694}#
-                          #{mod 21079}#
+                        (#{syntax-type 4442}#
+                          #{x 21070}#
+                          #{r 21071}#
+                          #{w 21072}#
+                          (#{source-annotation 4404}# #{x 21070}#)
+                          #{ribcage 20691}#
+                          #{mod 21076}#
                           #f))
-                      (lambda (#{type 21283}#
-                               #{value 21284}#
-                               #{e 21285}#
-                               #{w 21286}#
-                               #{s 21287}#
-                               #{mod 21288}#)
-                        (if (eqv? #{type 21283}# 'define-form)
-                          (let ((#{id 21292}#
-                                  (if (if (null? (car #{w 21286}#))
-                                        (null? (cdr #{w 21286}#))
+                      (lambda (#{type 21280}#
+                               #{value 21281}#
+                               #{e 21282}#
+                               #{w 21283}#
+                               #{s 21284}#
+                               #{mod 21285}#)
+                        (if (eqv? #{type 21280}# 'define-form)
+                          (let ((#{id 21289}#
+                                  (if (if (null? (car #{w 21283}#))
+                                        (null? (cdr #{w 21283}#))
                                         #f)
-                                    #{value 21284}#
-                                    (if (if (vector? #{value 21284}#)
+                                    #{value 21281}#
+                                    (if (if (vector? #{value 21281}#)
                                           (if (= (vector-length
-                                                   #{value 21284}#)
+                                                   #{value 21281}#)
                                                  4)
-                                            (eq? (vector-ref #{value 21284}# 0)
+                                            (eq? (vector-ref #{value 21281}# 0)
                                                  'syntax-object)
                                             #f)
                                           #f)
-                                      (let ((#{expression 21342}#
-                                              (vector-ref #{value 21284}# 1))
-                                            (#{wrap 21343}#
-                                              (let ((#{w2 21353}#
+                                      (let ((#{expression 21339}#
+                                              (vector-ref #{value 21281}# 1))
+                                            (#{wrap 21340}#
+                                              (let ((#{w2 21350}#
                                                       (vector-ref
-                                                        #{value 21284}#
+                                                        #{value 21281}#
                                                         2)))
-                                                (let ((#{m1 21354}#
-                                                        (car #{w 21286}#))
-                                                      (#{s1 21355}#
-                                                        (cdr #{w 21286}#)))
-                                                  (if (null? #{m1 21354}#)
-                                                    (if (null? #{s1 21355}#)
-                                                      #{w2 21353}#
-                                                      (cons (car #{w2 21353}#)
-                                                            (let ((#{m2 21372}#
-                                                                    (cdr #{w2 
21353}#)))
-                                                              (if (null? #{m2 
21372}#)
-                                                                #{s1 21355}#
+                                                (let ((#{m1 21351}#
+                                                        (car #{w 21283}#))
+                                                      (#{s1 21352}#
+                                                        (cdr #{w 21283}#)))
+                                                  (if (null? #{m1 21351}#)
+                                                    (if (null? #{s1 21352}#)
+                                                      #{w2 21350}#
+                                                      (cons (car #{w2 21350}#)
+                                                            (let ((#{m2 21369}#
+                                                                    (cdr #{w2 
21350}#)))
+                                                              (if (null? #{m2 
21369}#)
+                                                                #{s1 21352}#
                                                                 (append
-                                                                  #{s1 21355}#
-                                                                  #{m2 
21372}#)))))
-                                                    (cons (let ((#{m2 21380}#
-                                                                  (car #{w2 
21353}#)))
-                                                            (if (null? #{m2 
21380}#)
-                                                              #{m1 21354}#
+                                                                  #{s1 21352}#
+                                                                  #{m2 
21369}#)))))
+                                                    (cons (let ((#{m2 21377}#
+                                                                  (car #{w2 
21350}#)))
+                                                            (if (null? #{m2 
21377}#)
+                                                              #{m1 21351}#
                                                               (append
-                                                                #{m1 21354}#
-                                                                #{m2 21380}#)))
-                                                          (let ((#{m2 21388}#
-                                                                  (cdr #{w2 
21353}#)))
-                                                            (if (null? #{m2 
21388}#)
-                                                              #{s1 21355}#
+                                                                #{m1 21351}#
+                                                                #{m2 21377}#)))
+                                                          (let ((#{m2 21385}#
+                                                                  (cdr #{w2 
21350}#)))
+                                                            (if (null? #{m2 
21385}#)
+                                                              #{s1 21352}#
                                                               (append
-                                                                #{s1 21355}#
-                                                                #{m2 
21388}#))))))))
-                                            (#{module 21344}#
-                                              (vector-ref #{value 21284}# 3)))
+                                                                #{s1 21352}#
+                                                                #{m2 
21385}#))))))))
+                                            (#{module 21341}#
+                                              (vector-ref #{value 21281}# 3)))
                                         (vector
                                           'syntax-object
-                                          #{expression 21342}#
-                                          #{wrap 21343}#
-                                          #{module 21344}#))
-                                      (if (null? #{value 21284}#)
-                                        #{value 21284}#
+                                          #{expression 21339}#
+                                          #{wrap 21340}#
+                                          #{module 21341}#))
+                                      (if (null? #{value 21281}#)
+                                        #{value 21281}#
                                         (vector
                                           'syntax-object
-                                          #{value 21284}#
-                                          #{w 21286}#
-                                          #{mod 21288}#))))))
+                                          #{value 21281}#
+                                          #{w 21283}#
+                                          #{mod 21285}#))))))
                             (begin
                               (symbol->string (gensym "i"))
-                              (let ((#{var 21294}#
+                              (let ((#{var 21291}#
                                       (if (not (equal?
                                                  (car (vector-ref
-                                                        #{id 21292}#
+                                                        #{id 21289}#
                                                         2))
                                                  '(top)))
                                         (symbol-append
-                                          (vector-ref #{id 21292}# 1)
+                                          (vector-ref #{id 21289}# 1)
                                           '-
                                           (string->symbol
                                             (number->string
-                                              (hash (syntax->datum #{x 21073}#)
+                                              (hash (syntax->datum #{x 21070}#)
                                                     most-positive-fixnum)
                                               16)))
-                                        (vector-ref #{id 21292}# 1))))
+                                        (vector-ref #{id 21289}# 1))))
                                 (begin
-                                  (#{record-definition! 20696}#
-                                    #{id 21292}#
-                                    #{var 21294}#)
-                                  (list (if (eq? #{m 21077}# 'c&e)
-                                          (let ((#{x 21519}#
-                                                  (#{build-global-definition 
4388}#
-                                                    #{s 21287}#
-                                                    #{var 21294}#
-                                                    (#{chi 4446}#
-                                                      #{e 21285}#
-                                                      #{r 21074}#
-                                                      #{w 21286}#
-                                                      #{mod 21288}#))))
+                                  (#{record-definition! 20693}#
+                                    #{id 21289}#
+                                    #{var 21291}#)
+                                  (list (if (eq? #{m 21074}# 'c&e)
+                                          (let ((#{x 21516}#
+                                                  (#{build-global-definition 
4385}#
+                                                    #{s 21284}#
+                                                    #{var 21291}#
+                                                    (#{expand 4443}#
+                                                      #{e 21282}#
+                                                      #{r 21071}#
+                                                      #{w 21283}#
+                                                      #{mod 21285}#))))
                                             (begin
-                                              (#{top-level-eval-hook 4373}#
-                                                #{x 21519}#
-                                                #{mod 21288}#)
-                                              (lambda () #{x 21519}#)))
+                                              (#{top-level-eval-hook 4370}#
+                                                #{x 21516}#
+                                                #{mod 21285}#)
+                                              (lambda () #{x 21516}#)))
                                           (lambda ()
-                                            (#{build-global-definition 4388}#
-                                              #{s 21287}#
-                                              #{var 21294}#
-                                              (#{chi 4446}#
-                                                #{e 21285}#
-                                                #{r 21074}#
-                                                #{w 21286}#
-                                                #{mod 21288}#)))))))))
-                          (if (if (eqv? #{type 21283}# 'define-syntax-form)
+                                            (#{build-global-definition 4385}#
+                                              #{s 21284}#
+                                              #{var 21291}#
+                                              (#{expand 4443}#
+                                                #{e 21282}#
+                                                #{r 21071}#
+                                                #{w 21283}#
+                                                #{mod 21285}#)))))))))
+                          (if (if (eqv? #{type 21280}# 'define-syntax-form)
                                 #t
-                                (eqv? #{type 21283}#
+                                (eqv? #{type 21280}#
                                       'define-syntax-parameter-form))
-                            (let ((#{id 22035}#
-                                    (if (if (null? (car #{w 21286}#))
-                                          (null? (cdr #{w 21286}#))
+                            (let ((#{id 22032}#
+                                    (if (if (null? (car #{w 21283}#))
+                                          (null? (cdr #{w 21283}#))
                                           #f)
-                                      #{value 21284}#
-                                      (if (if (vector? #{value 21284}#)
+                                      #{value 21281}#
+                                      (if (if (vector? #{value 21281}#)
                                             (if (= (vector-length
-                                                     #{value 21284}#)
+                                                     #{value 21281}#)
                                                    4)
                                               (eq? (vector-ref
-                                                     #{value 21284}#
+                                                     #{value 21281}#
                                                      0)
                                                    'syntax-object)
                                               #f)
                                             #f)
-                                        (let ((#{expression 22085}#
-                                                (vector-ref #{value 21284}# 1))
-                                              (#{wrap 22086}#
-                                                (let ((#{w2 22096}#
+                                        (let ((#{expression 22082}#
+                                                (vector-ref #{value 21281}# 1))
+                                              (#{wrap 22083}#
+                                                (let ((#{w2 22093}#
                                                         (vector-ref
-                                                          #{value 21284}#
+                                                          #{value 21281}#
                                                           2)))
-                                                  (let ((#{m1 22097}#
-                                                          (car #{w 21286}#))
-                                                        (#{s1 22098}#
-                                                          (cdr #{w 21286}#)))
-                                                    (if (null? #{m1 22097}#)
-                                                      (if (null? #{s1 22098}#)
-                                                        #{w2 22096}#
-                                                        (cons (car #{w2 
22096}#)
-                                                              (let ((#{m2 
22115}#
-                                                                      (cdr 
#{w2 22096}#)))
-                                                                (if (null? 
#{m2 22115}#)
-                                                                  #{s1 22098}#
+                                                  (let ((#{m1 22094}#
+                                                          (car #{w 21283}#))
+                                                        (#{s1 22095}#
+                                                          (cdr #{w 21283}#)))
+                                                    (if (null? #{m1 22094}#)
+                                                      (if (null? #{s1 22095}#)
+                                                        #{w2 22093}#
+                                                        (cons (car #{w2 
22093}#)
+                                                              (let ((#{m2 
22112}#
+                                                                      (cdr 
#{w2 22093}#)))
+                                                                (if (null? 
#{m2 22112}#)
+                                                                  #{s1 22095}#
                                                                   (append
-                                                                    #{s1 
22098}#
-                                                                    #{m2 
22115}#)))))
-                                                      (cons (let ((#{m2 22123}#
-                                                                    (car #{w2 
22096}#)))
-                                                              (if (null? #{m2 
22123}#)
-                                                                #{m1 22097}#
+                                                                    #{s1 
22095}#
+                                                                    #{m2 
22112}#)))))
+                                                      (cons (let ((#{m2 22120}#
+                                                                    (car #{w2 
22093}#)))
+                                                              (if (null? #{m2 
22120}#)
+                                                                #{m1 22094}#
                                                                 (append
-                                                                  #{m1 22097}#
-                                                                  #{m2 
22123}#)))
-                                                            (let ((#{m2 22131}#
-                                                                    (cdr #{w2 
22096}#)))
-                                                              (if (null? #{m2 
22131}#)
-                                                                #{s1 22098}#
+                                                                  #{m1 22094}#
+                                                                  #{m2 
22120}#)))
+                                                            (let ((#{m2 22128}#
+                                                                    (cdr #{w2 
22093}#)))
+                                                              (if (null? #{m2 
22128}#)
+                                                                #{s1 22095}#
                                                                 (append
-                                                                  #{s1 22098}#
-                                                                  #{m2 
22131}#))))))))
-                                              (#{module 22087}#
+                                                                  #{s1 22095}#
+                                                                  #{m2 
22128}#))))))))
+                                              (#{module 22084}#
                                                 (vector-ref
-                                                  #{value 21284}#
+                                                  #{value 21281}#
                                                   3)))
                                           (vector
                                             'syntax-object
-                                            #{expression 22085}#
-                                            #{wrap 22086}#
-                                            #{module 22087}#))
-                                        (if (null? #{value 21284}#)
-                                          #{value 21284}#
+                                            #{expression 22082}#
+                                            #{wrap 22083}#
+                                            #{module 22084}#))
+                                        (if (null? #{value 21281}#)
+                                          #{value 21281}#
                                           (vector
                                             'syntax-object
-                                            #{value 21284}#
-                                            #{w 21286}#
-                                            #{mod 21288}#))))))
+                                            #{value 21281}#
+                                            #{w 21283}#
+                                            #{mod 21285}#))))))
                               (begin
                                 (symbol->string (gensym "i"))
-                                (let ((#{var 22037}#
+                                (let ((#{var 22034}#
                                         (if (not (equal?
                                                    (car (vector-ref
-                                                          #{id 22035}#
+                                                          #{id 22032}#
                                                           2))
                                                    '(top)))
                                           (symbol-append
-                                            (vector-ref #{id 22035}# 1)
+                                            (vector-ref #{id 22032}# 1)
                                             '-
                                             (string->symbol
                                               (number->string
                                                 (hash (syntax->datum
-                                                        #{x 21073}#)
+                                                        #{x 21070}#)
                                                       most-positive-fixnum)
                                                 16)))
-                                          (vector-ref #{id 22035}# 1))))
+                                          (vector-ref #{id 22032}# 1))))
                                   (begin
-                                    (#{record-definition! 20696}#
-                                      #{id 22035}#
-                                      #{var 22037}#)
-                                    (if (eqv? #{m 21077}# 'c)
-                                      (if (memq 'compile #{esew 21078}#)
-                                        (let ((#{e 22265}#
-                                                (#{chi-install-global 4443}#
-                                                  #{var 22037}#
-                                                  #{type 21283}#
-                                                  (#{chi 4446}#
-                                                    #{e 21285}#
-                                                    #{r 21074}#
-                                                    #{w 21286}#
-                                                    #{mod 21288}#))))
+                                    (#{record-definition! 20693}#
+                                      #{id 22032}#
+                                      #{var 22034}#)
+                                    (if (eqv? #{m 21074}# 'c)
+                                      (if (memq 'compile #{esew 21075}#)
+                                        (let ((#{e 22262}#
+                                                (#{expand-install-global 4440}#
+                                                  #{var 22034}#
+                                                  #{type 21280}#
+                                                  (#{expand 4443}#
+                                                    #{e 21282}#
+                                                    #{r 21071}#
+                                                    #{w 21283}#
+                                                    #{mod 21285}#))))
                                           (begin
-                                            (#{top-level-eval-hook 4373}#
-                                              #{e 22265}#
-                                              #{mod 21288}#)
-                                            (if (memq 'load #{esew 21078}#)
-                                              (list (lambda () #{e 22265}#))
+                                            (#{top-level-eval-hook 4370}#
+                                              #{e 22262}#
+                                              #{mod 21285}#)
+                                            (if (memq 'load #{esew 21075}#)
+                                              (list (lambda () #{e 22262}#))
                                               '())))
-                                        (if (memq 'load #{esew 21078}#)
+                                        (if (memq 'load #{esew 21075}#)
                                           (list (lambda ()
-                                                  (#{chi-install-global 4443}#
-                                                    #{var 22037}#
-                                                    #{type 21283}#
-                                                    (#{chi 4446}#
-                                                      #{e 21285}#
-                                                      #{r 21074}#
-                                                      #{w 21286}#
-                                                      #{mod 21288}#))))
+                                                  (#{expand-install-global 
4440}#
+                                                    #{var 22034}#
+                                                    #{type 21280}#
+                                                    (#{expand 4443}#
+                                                      #{e 21282}#
+                                                      #{r 21071}#
+                                                      #{w 21283}#
+                                                      #{mod 21285}#))))
                                           '()))
-                                      (if (eqv? #{m 21077}# 'c&e)
-                                        (let ((#{e 22785}#
-                                                (#{chi-install-global 4443}#
-                                                  #{var 22037}#
-                                                  #{type 21283}#
-                                                  (#{chi 4446}#
-                                                    #{e 21285}#
-                                                    #{r 21074}#
-                                                    #{w 21286}#
-                                                    #{mod 21288}#))))
+                                      (if (eqv? #{m 21074}# 'c&e)
+                                        (let ((#{e 22782}#
+                                                (#{expand-install-global 4440}#
+                                                  #{var 22034}#
+                                                  #{type 21280}#
+                                                  (#{expand 4443}#
+                                                    #{e 21282}#
+                                                    #{r 21071}#
+                                                    #{w 21283}#
+                                                    #{mod 21285}#))))
                                           (begin
-                                            (#{top-level-eval-hook 4373}#
-                                              #{e 22785}#
-                                              #{mod 21288}#)
-                                            (list (lambda () #{e 22785}#))))
+                                            (#{top-level-eval-hook 4370}#
+                                              #{e 22782}#
+                                              #{mod 21285}#)
+                                            (list (lambda () #{e 22782}#))))
                                         (begin
-                                          (if (memq 'eval #{esew 21078}#)
-                                            (#{top-level-eval-hook 4373}#
-                                              (#{chi-install-global 4443}#
-                                                #{var 22037}#
-                                                #{type 21283}#
-                                                (#{chi 4446}#
-                                                  #{e 21285}#
-                                                  #{r 21074}#
-                                                  #{w 21286}#
-                                                  #{mod 21288}#))
-                                              #{mod 21288}#))
+                                          (if (memq 'eval #{esew 21075}#)
+                                            (#{top-level-eval-hook 4370}#
+                                              (#{expand-install-global 4440}#
+                                                #{var 22034}#
+                                                #{type 21280}#
+                                                (#{expand 4443}#
+                                                  #{e 21282}#
+                                                  #{r 21071}#
+                                                  #{w 21283}#
+                                                  #{mod 21285}#))
+                                              #{mod 21285}#))
                                           '())))))))
-                            (if (eqv? #{type 21283}# 'begin-form)
-                              (let ((#{tmp 23414}#
+                            (if (eqv? #{type 21280}# 'begin-form)
+                              (let ((#{tmp 23411}#
                                       ($sc-dispatch
-                                        #{e 21285}#
+                                        #{e 21282}#
                                         '(_ . each-any))))
-                                (if #{tmp 23414}#
+                                (if #{tmp 23411}#
                                   (@apply
-                                    (lambda (#{e1 23418}#)
-                                      (#{parse 20699}#
-                                        #{e1 23418}#
-                                        #{r 21074}#
-                                        #{w 21286}#
-                                        #{s 21287}#
-                                        #{m 21077}#
-                                        #{esew 21078}#
-                                        #{mod 21288}#))
-                                    #{tmp 23414}#)
+                                    (lambda (#{e1 23415}#)
+                                      (#{parse 20696}#
+                                        #{e1 23415}#
+                                        #{r 21071}#
+                                        #{w 21283}#
+                                        #{s 21284}#
+                                        #{m 21074}#
+                                        #{esew 21075}#
+                                        #{mod 21285}#))
+                                    #{tmp 23411}#)
                                   (syntax-violation
                                     #f
                                     "source expression failed to match any 
pattern"
-                                    #{e 21285}#)))
-                              (if (eqv? #{type 21283}# 'local-syntax-form)
-                                (#{chi-local-syntax 4451}#
-                                  #{value 21284}#
-                                  #{e 21285}#
-                                  #{r 21074}#
-                                  #{w 21286}#
-                                  #{s 21287}#
-                                  #{mod 21288}#
-                                  (lambda (#{forms 23464}#
-                                           #{r 23465}#
-                                           #{w 23466}#
-                                           #{s 23467}#
-                                           #{mod 23468}#)
-                                    (#{parse 20699}#
-                                      #{forms 23464}#
-                                      #{r 23465}#
-                                      #{w 23466}#
-                                      #{s 23467}#
-                                      #{m 21077}#
-                                      #{esew 21078}#
-                                      #{mod 23468}#)))
-                                (if (eqv? #{type 21283}# 'eval-when-form)
-                                  (let ((#{tmp 23507}#
+                                    #{e 21282}#)))
+                              (if (eqv? #{type 21280}# 'local-syntax-form)
+                                (#{expand-local-syntax 4448}#
+                                  #{value 21281}#
+                                  #{e 21282}#
+                                  #{r 21071}#
+                                  #{w 21283}#
+                                  #{s 21284}#
+                                  #{mod 21285}#
+                                  (lambda (#{forms 23461}#
+                                           #{r 23462}#
+                                           #{w 23463}#
+                                           #{s 23464}#
+                                           #{mod 23465}#)
+                                    (#{parse 20696}#
+                                      #{forms 23461}#
+                                      #{r 23462}#
+                                      #{w 23463}#
+                                      #{s 23464}#
+                                      #{m 21074}#
+                                      #{esew 21075}#
+                                      #{mod 23465}#)))
+                                (if (eqv? #{type 21280}# 'eval-when-form)
+                                  (let ((#{tmp 23504}#
                                           ($sc-dispatch
-                                            #{e 21285}#
+                                            #{e 21282}#
                                             '(_ each-any any . each-any))))
-                                    (if #{tmp 23507}#
+                                    (if #{tmp 23504}#
                                       (@apply
-                                        (lambda (#{x 23511}#
-                                                 #{e1 23512}#
-                                                 #{e2 23513}#)
-                                          (let ((#{when-list 23514}#
-                                                  (#{chi-when-list 4444}#
-                                                    #{e 21285}#
-                                                    #{x 23511}#
-                                                    #{w 21286}#))
-                                                (#{body 23515}#
-                                                  (cons #{e1 23512}#
-                                                        #{e2 23513}#)))
+                                        (lambda (#{x 23508}#
+                                                 #{e1 23509}#
+                                                 #{e2 23510}#)
+                                          (let ((#{when-list 23511}#
+                                                  (#{parse-when-list 4441}#
+                                                    #{e 21282}#
+                                                    #{x 23508}#))
+                                                (#{body 23512}#
+                                                  (cons #{e1 23509}#
+                                                        #{e2 23510}#)))
                                             (letrec*
-                                              ((#{recurse 23516}#
-                                                 (lambda (#{m 23652}#
-                                                          #{esew 23653}#)
-                                                   (#{parse 20699}#
-                                                     #{body 23515}#
-                                                     #{r 21074}#
-                                                     #{w 21286}#
-                                                     #{s 21287}#
-                                                     #{m 23652}#
-                                                     #{esew 23653}#
-                                                     #{mod 21288}#))))
-                                              (if (eq? #{m 21077}# 'e)
+                                              ((#{recurse 23513}#
+                                                 (lambda (#{m 24102}#
+                                                          #{esew 24103}#)
+                                                   (#{parse 20696}#
+                                                     #{body 23512}#
+                                                     #{r 21071}#
+                                                     #{w 21283}#
+                                                     #{s 21284}#
+                                                     #{m 24102}#
+                                                     #{esew 24103}#
+                                                     #{mod 21285}#))))
+                                              (if (eq? #{m 21074}# 'e)
                                                 (if (memq 'eval
-                                                          #{when-list 23514}#)
-                                                  (#{recurse 23516}#
+                                                          #{when-list 23511}#)
+                                                  (#{recurse 23513}#
                                                     (if (memq 'expand
-                                                              #{when-list 
23514}#)
+                                                              #{when-list 
23511}#)
                                                       'c&e
                                                       'e)
                                                     '(eval))
                                                   (begin
                                                     (if (memq 'expand
-                                                              #{when-list 
23514}#)
-                                                      (let ((#{x 23557}#
-                                                              
(#{chi-top-sequence 4442}#
-                                                                #{body 23515}#
-                                                                #{r 21074}#
-                                                                #{w 21286}#
-                                                                #{s 21287}#
+                                                              #{when-list 
23511}#)
+                                                      (let ((#{x 23621}#
+                                                              
(#{expand-top-sequence 4439}#
+                                                                #{body 23512}#
+                                                                #{r 21071}#
+                                                                #{w 21283}#
+                                                                #{s 21284}#
                                                                 'e
                                                                 '(eval)
-                                                                #{mod 
21288}#)))
+                                                                #{mod 
21285}#)))
                                                         (primitive-eval
-                                                          #{x 23557}#)))
+                                                          #{x 23621}#)))
                                                     '()))
                                                 (if (memq 'load
-                                                          #{when-list 23514}#)
-                                                  (if (let ((#{t 23559}#
+                                                          #{when-list 23511}#)
+                                                  (if (let ((#{t 23649}#
                                                               (memq 'compile
-                                                                    
#{when-list 23514}#)))
-                                                        (if #{t 23559}#
-                                                          #{t 23559}#
-                                                          (let ((#{t 23561}#
+                                                                    
#{when-list 23511}#)))
+                                                        (if #{t 23649}#
+                                                          #{t 23649}#
+                                                          (let ((#{t 23702}#
                                                                   (memq 'expand
-                                                                        
#{when-list 23514}#)))
-                                                            (if #{t 23561}#
-                                                              #{t 23561}#
-                                                              (if (eq? #{m 
21077}#
+                                                                        
#{when-list 23511}#)))
+                                                            (if #{t 23702}#
+                                                              #{t 23702}#
+                                                              (if (eq? #{m 
21074}#
                                                                        'c&e)
                                                                 (memq 'eval
-                                                                      
#{when-list 23514}#)
+                                                                      
#{when-list 23511}#)
                                                                 #f)))))
-                                                    (#{recurse 23516}#
+                                                    (#{recurse 23513}#
                                                       'c&e
                                                       '(compile load))
-                                                    (if (if (eq? #{m 21077}#
+                                                    (if (if (eq? #{m 21074}#
                                                                  'c)
                                                           #t
-                                                          (eq? #{m 21077}#
+                                                          (eq? #{m 21074}#
                                                                'c&e))
-                                                      (#{recurse 23516}#
+                                                      (#{recurse 23513}#
                                                         'c
                                                         '(load))
                                                       '()))
-                                                  (if (let ((#{t 23643}#
+                                                  (if (let ((#{t 23913}#
                                                               (memq 'compile
-                                                                    
#{when-list 23514}#)))
-                                                        (if #{t 23643}#
-                                                          #{t 23643}#
-                                                          (let ((#{t 23645}#
+                                                                    
#{when-list 23511}#)))
+                                                        (if #{t 23913}#
+                                                          #{t 23913}#
+                                                          (let ((#{t 23966}#
                                                                   (memq 'expand
-                                                                        
#{when-list 23514}#)))
-                                                            (if #{t 23645}#
-                                                              #{t 23645}#
-                                                              (if (eq? #{m 
21077}#
+                                                                        
#{when-list 23511}#)))
+                                                            (if #{t 23966}#
+                                                              #{t 23966}#
+                                                              (if (eq? #{m 
21074}#
                                                                        'c&e)
                                                                 (memq 'eval
-                                                                      
#{when-list 23514}#)
+                                                                      
#{when-list 23511}#)
                                                                 #f)))))
                                                     (begin
-                                                      (let ((#{x 23650}#
-                                                              
(#{chi-top-sequence 4442}#
-                                                                #{body 23515}#
-                                                                #{r 21074}#
-                                                                #{w 21286}#
-                                                                #{s 21287}#
+                                                      (let ((#{x 24100}#
+                                                              
(#{expand-top-sequence 4439}#
+                                                                #{body 23512}#
+                                                                #{r 21071}#
+                                                                #{w 21283}#
+                                                                #{s 21284}#
                                                                 'e
                                                                 '(eval)
-                                                                #{mod 
21288}#)))
+                                                                #{mod 
21285}#)))
                                                         (primitive-eval
-                                                          #{x 23650}#))
+                                                          #{x 24100}#))
                                                       '())
                                                     '()))))))
-                                        #{tmp 23507}#)
+                                        #{tmp 23504}#)
                                       (syntax-violation
                                         #f
                                         "source expression failed to match any 
pattern"
-                                        #{e 21285}#)))
-                                  (list (if (eq? #{m 21077}# 'c&e)
-                                          (let ((#{x 23694}#
-                                                  (#{chi-expr 4447}#
-                                                    #{type 21283}#
-                                                    #{value 21284}#
-                                                    #{e 21285}#
-                                                    #{r 21074}#
-                                                    #{w 21286}#
-                                                    #{s 21287}#
-                                                    #{mod 21288}#)))
+                                        #{e 21282}#)))
+                                  (list (if (eq? #{m 21074}# 'c&e)
+                                          (let ((#{x 24176}#
+                                                  (#{expand-expr 4444}#
+                                                    #{type 21280}#
+                                                    #{value 21281}#
+                                                    #{e 21282}#
+                                                    #{r 21071}#
+                                                    #{w 21283}#
+                                                    #{s 21284}#
+                                                    #{mod 21285}#)))
                                             (begin
-                                              (primitive-eval #{x 23694}#)
-                                              (lambda () #{x 23694}#)))
+                                              (primitive-eval #{x 24176}#)
+                                              (lambda () #{x 24176}#)))
                                           (lambda ()
-                                            (#{chi-expr 4447}#
-                                              #{type 21283}#
-                                              #{value 21284}#
-                                              #{e 21285}#
-                                              #{r 21074}#
-                                              #{w 21286}#
-                                              #{s 21287}#
-                                              #{mod 21288}#))))))))))))))
-               (let ((#{exps 20701}#
-                       (map (lambda (#{x 20832}#) (#{x 20832}#))
+                                            (#{expand-expr 4444}#
+                                              #{type 21280}#
+                                              #{value 21281}#
+                                              #{e 21282}#
+                                              #{r 21071}#
+                                              #{w 21283}#
+                                              #{s 21284}#
+                                              #{mod 21285}#))))))))))))))
+               (let ((#{exps 20698}#
+                       (map (lambda (#{x 20829}#) (#{x 20829}#))
                             (reverse
-                              (#{parse 20699}#
-                                #{body 20686}#
-                                #{r 20693}#
-                                #{w 20695}#
-                                #{s 20689}#
-                                #{m 20690}#
-                                #{esew 20691}#
-                                #{mod 20692}#)))))
-                 (if (null? #{exps 20701}#)
+                              (#{parse 20696}#
+                                #{body 20683}#
+                                #{r 20690}#
+                                #{w 20692}#
+                                #{s 20686}#
+                                #{m 20687}#
+                                #{esew 20688}#
+                                #{mod 20689}#)))))
+                 (if (null? #{exps 20698}#)
                    (make-struct/no-tail
                      (vector-ref %expanded-vtables 0)
-                     #{s 20689}#)
-                   (#{build-sequence 4395}#
-                     #{s 20689}#
-                     #{exps 20701}#)))))))))
-   (#{chi-install-global 4443}#
-     (lambda (#{name 23822}# #{type 23823}# #{e 23824}#)
-       (let ((#{exp 23830}#
-               (let ((#{args 23841}#
-                       (if (eq? #{type 23823}#
+                     #{s 20686}#)
+                   (#{build-sequence 4392}#
+                     #{s 20686}#
+                     #{exps 20698}#)))))))))
+   (#{expand-install-global 4440}#
+     (lambda (#{name 24304}# #{type 24305}# #{e 24306}#)
+       (let ((#{exp 24312}#
+               (let ((#{args 24323}#
+                       (if (eq? #{type 24305}#
                                 'define-syntax-parameter-form)
                          (list (make-struct/no-tail
                                  (vector-ref %expanded-vtables 1)
                                  #f
-                                 #{name 23822}#)
+                                 #{name 24304}#)
                                (make-struct/no-tail
                                  (vector-ref %expanded-vtables 1)
                                  #f
                                  'syntax-parameter)
-                               (let ((#{args 23864}# (list #{e 23824}#)))
+                               (let ((#{args 24346}# (list #{e 24306}#)))
                                  (make-struct/no-tail
                                    (vector-ref %expanded-vtables 12)
                                    #f
                                    'list
-                                   #{args 23864}#)))
+                                   #{args 24346}#)))
                          (list (make-struct/no-tail
                                  (vector-ref %expanded-vtables 1)
                                  #f
-                                 #{name 23822}#)
+                                 #{name 24304}#)
                                (make-struct/no-tail
                                  (vector-ref %expanded-vtables 1)
                                  #f
                                  'macro)
-                               #{e 23824}#))))
+                               #{e 24306}#))))
                  (make-struct/no-tail
                    (vector-ref %expanded-vtables 12)
                    #f
                    'make-syntax-transformer
-                   #{args 23841}#))))
+                   #{args 24323}#))))
          (begin
-           (if (if (struct? #{exp 23830}#)
-                 (eq? (struct-vtable #{exp 23830}#)
+           (if (if (struct? #{exp 24312}#)
+                 (eq? (struct-vtable #{exp 24312}#)
                       (vector-ref %expanded-vtables 14))
                  #f)
-             (let ((#{meta 23891}# (struct-ref #{exp 23830}# 1)))
-               (if (not (assq 'name #{meta 23891}#))
-                 (let ((#{v 23898}#
-                         (cons (cons 'name #{name 23822}#) #{meta 23891}#)))
-                   (struct-set! #{exp 23830}# 1 #{v 23898}#)))))
+             (let ((#{meta 24373}# (struct-ref #{exp 24312}# 1)))
+               (if (not (assq 'name #{meta 24373}#))
+                 (let ((#{v 24380}#
+                         (cons (cons 'name #{name 24304}#) #{meta 24373}#)))
+                   (struct-set! #{exp 24312}# 1 #{v 24380}#)))))
            (make-struct/no-tail
              (vector-ref %expanded-vtables 9)
              #f
-             #{name 23822}#
-             #{exp 23830}#)))))
-   (#{chi-when-list 4444}#
-     (lambda (#{e 23909}# #{when-list 23910}# #{w 23911}#)
-       (letrec*
-         ((#{f 23912}#
-            (lambda (#{when-list 24114}# #{situations 24115}#)
-              (if (null? #{when-list 24114}#)
-                #{situations 24115}#
-                (#{f 23912}#
-                  (cdr #{when-list 24114}#)
-                  (cons (let ((#{x 24116}#
-                                (syntax->datum (car #{when-list 24114}#))))
-                          (if (if (eq? #{x 24116}# 'compile)
-                                #t
-                                (if (eq? #{x 24116}# 'load)
-                                  #t
-                                  (if (eq? #{x 24116}# 'eval)
-                                    #t
-                                    (eq? #{x 24116}# 'expand))))
-                            #{x 24116}#
-                            (syntax-violation
-                              'eval-when
-                              "invalid situation"
-                              #{e 23909}#
-                              (let ((#{x 24135}# (car #{when-list 24114}#)))
-                                (if (if (null? (car #{w 23911}#))
-                                      (null? (cdr #{w 23911}#))
-                                      #f)
-                                  #{x 24135}#
-                                  (if (if (vector? #{x 24135}#)
-                                        (if (= (vector-length #{x 24135}#) 4)
-                                          (eq? (vector-ref #{x 24135}# 0)
-                                               'syntax-object)
-                                          #f)
-                                        #f)
-                                    (let ((#{expression 24153}#
-                                            (vector-ref #{x 24135}# 1))
-                                          (#{wrap 24154}#
-                                            (let ((#{w2 24162}#
-                                                    (vector-ref
-                                                      #{x 24135}#
-                                                      2)))
-                                              (let ((#{m1 24163}#
-                                                      (car #{w 23911}#))
-                                                    (#{s1 24164}#
-                                                      (cdr #{w 23911}#)))
-                                                (if (null? #{m1 24163}#)
-                                                  (if (null? #{s1 24164}#)
-                                                    #{w2 24162}#
-                                                    (cons (car #{w2 24162}#)
-                                                          (let ((#{m2 24179}#
-                                                                  (cdr #{w2 
24162}#)))
-                                                            (if (null? #{m2 
24179}#)
-                                                              #{s1 24164}#
-                                                              (append
-                                                                #{s1 24164}#
-                                                                #{m2 
24179}#)))))
-                                                  (cons (let ((#{m2 24187}#
-                                                                (car #{w2 
24162}#)))
-                                                          (if (null? #{m2 
24187}#)
-                                                            #{m1 24163}#
-                                                            (append
-                                                              #{m1 24163}#
-                                                              #{m2 24187}#)))
-                                                        (let ((#{m2 24195}#
-                                                                (cdr #{w2 
24162}#)))
-                                                          (if (null? #{m2 
24195}#)
-                                                            #{s1 24164}#
-                                                            (append
-                                                              #{s1 24164}#
-                                                              #{m2 
24195}#))))))))
-                                          (#{module 24155}#
-                                            (vector-ref #{x 24135}# 3)))
-                                      (vector
-                                        'syntax-object
-                                        #{expression 24153}#
-                                        #{wrap 24154}#
-                                        #{module 24155}#))
-                                    (if (null? #{x 24135}#)
-                                      #{x 24135}#
-                                      (vector
-                                        'syntax-object
-                                        #{x 24135}#
-                                        #{w 23911}#
-                                        #f))))))))
-                        #{situations 24115}#))))))
-         (#{f 23912}# #{when-list 23910}# '()))))
-   (#{syntax-type 4445}#
-     (lambda (#{e 24210}#
-              #{r 24211}#
-              #{w 24212}#
-              #{s 24213}#
-              #{rib 24214}#
-              #{mod 24215}#
-              #{for-car? 24216}#)
-       (if (symbol? #{e 24210}#)
+             #{name 24304}#
+             #{exp 24312}#)))))
+   (#{parse-when-list 4441}#
+     (lambda (#{e 24391}# #{when-list 24392}#)
+       (let ((#{result 24393}#
+               (#{strip 4456}# #{when-list 24392}# '(()))))
+         (letrec*
+           ((#{lp 24394}#
+              (lambda (#{l 24460}#)
+                (if (null? #{l 24460}#)
+                  #{result 24393}#
+                  (if (let ((#{t 24462}# (car #{l 24460}#)))
+                        (if (eq? #{t 24462}# 'compile)
+                          #t
+                          (if (eq? #{t 24462}# 'load)
+                            #t
+                            (if (eq? #{t 24462}# 'eval)
+                              #t
+                              (eq? #{t 24462}# 'expand)))))
+                    (#{lp 24394}# (cdr #{l 24460}#))
+                    (syntax-violation
+                      'eval-when
+                      "invalid situation"
+                      #{e 24391}#
+                      (car #{l 24460}#)))))))
+           (#{lp 24394}# #{result 24393}#)))))
+   (#{syntax-type 4442}#
+     (lambda (#{e 24464}#
+              #{r 24465}#
+              #{w 24466}#
+              #{s 24467}#
+              #{rib 24468}#
+              #{mod 24469}#
+              #{for-car? 24470}#)
+       (if (symbol? #{e 24464}#)
          (call-with-values
            (lambda ()
-             (#{resolve-identifier 4433}#
-               #{e 24210}#
-               #{w 24212}#
-               #{r 24211}#
-               #{mod 24215}#
+             (#{resolve-identifier 4430}#
+               #{e 24464}#
+               #{w 24466}#
+               #{r 24465}#
+               #{mod 24469}#
                #t))
-           (lambda (#{type 24219}# #{value 24220}# #{mod* 24221}#)
-             (if (eqv? #{type 24219}# 'macro)
-               (if #{for-car? 24216}#
+           (lambda (#{type 24473}# #{value 24474}# #{mod* 24475}#)
+             (if (eqv? #{type 24473}# 'macro)
+               (if #{for-car? 24470}#
                  (values
-                   #{type 24219}#
-                   #{value 24220}#
-                   #{e 24210}#
-                   #{w 24212}#
-                   #{s 24213}#
-                   #{mod 24215}#)
-                 (#{syntax-type 4445}#
-                   (#{chi-macro 4449}#
-                     #{value 24220}#
-                     #{e 24210}#
-                     #{r 24211}#
-                     #{w 24212}#
-                     #{s 24213}#
-                     #{rib 24214}#
-                     #{mod 24215}#)
-                   #{r 24211}#
+                   #{type 24473}#
+                   #{value 24474}#
+                   #{e 24464}#
+                   #{w 24466}#
+                   #{s 24467}#
+                   #{mod 24469}#)
+                 (#{syntax-type 4442}#
+                   (#{expand-macro 4446}#
+                     #{value 24474}#
+                     #{e 24464}#
+                     #{r 24465}#
+                     #{w 24466}#
+                     #{s 24467}#
+                     #{rib 24468}#
+                     #{mod 24469}#)
+                   #{r 24465}#
                    '(())
-                   #{s 24213}#
-                   #{rib 24214}#
-                   #{mod 24215}#
+                   #{s 24467}#
+                   #{rib 24468}#
+                   #{mod 24469}#
                    #f))
-               (if (eqv? #{type 24219}# 'global)
+               (if (eqv? #{type 24473}# 'global)
                  (values
-                   #{type 24219}#
-                   #{value 24220}#
-                   #{value 24220}#
-                   #{w 24212}#
-                   #{s 24213}#
-                   #{mod* 24221}#)
+                   #{type 24473}#
+                   #{value 24474}#
+                   #{value 24474}#
+                   #{w 24466}#
+                   #{s 24467}#
+                   #{mod* 24475}#)
                  (values
-                   #{type 24219}#
-                   #{value 24220}#
-                   #{e 24210}#
-                   #{w 24212}#
-                   #{s 24213}#
-                   #{mod 24215}#)))))
-         (if (pair? #{e 24210}#)
-           (let ((#{first 24230}# (car #{e 24210}#)))
+                   #{type 24473}#
+                   #{value 24474}#
+                   #{e 24464}#
+                   #{w 24466}#
+                   #{s 24467}#
+                   #{mod 24469}#)))))
+         (if (pair? #{e 24464}#)
+           (let ((#{first 24484}# (car #{e 24464}#)))
              (call-with-values
                (lambda ()
-                 (#{syntax-type 4445}#
-                   #{first 24230}#
-                   #{r 24211}#
-                   #{w 24212}#
-                   #{s 24213}#
-                   #{rib 24214}#
-                   #{mod 24215}#
+                 (#{syntax-type 4442}#
+                   #{first 24484}#
+                   #{r 24465}#
+                   #{w 24466}#
+                   #{s 24467}#
+                   #{rib 24468}#
+                   #{mod 24469}#
                    #t))
-               (lambda (#{ftype 24232}#
-                        #{fval 24233}#
-                        #{fe 24234}#
-                        #{fw 24235}#
-                        #{fs 24236}#
-                        #{fmod 24237}#)
-                 (if (eqv? #{ftype 24232}# 'lexical)
+               (lambda (#{ftype 24486}#
+                        #{fval 24487}#
+                        #{fe 24488}#
+                        #{fw 24489}#
+                        #{fs 24490}#
+                        #{fmod 24491}#)
+                 (if (eqv? #{ftype 24486}# 'lexical)
                    (values
                      'lexical-call
-                     #{fval 24233}#
-                     #{e 24210}#
-                     #{w 24212}#
-                     #{s 24213}#
-                     #{mod 24215}#)
-                   (if (eqv? #{ftype 24232}# 'global)
+                     #{fval 24487}#
+                     #{e 24464}#
+                     #{w 24466}#
+                     #{s 24467}#
+                     #{mod 24469}#)
+                   (if (eqv? #{ftype 24486}# 'global)
                      (values
                        'global-call
                        (vector
                          'syntax-object
-                         #{fval 24233}#
-                         #{w 24212}#
-                         #{fmod 24237}#)
-                       #{e 24210}#
-                       #{w 24212}#
-                       #{s 24213}#
-                       #{mod 24215}#)
-                     (if (eqv? #{ftype 24232}# 'macro)
-                       (#{syntax-type 4445}#
-                         (#{chi-macro 4449}#
-                           #{fval 24233}#
-                           #{e 24210}#
-                           #{r 24211}#
-                           #{w 24212}#
-                           #{s 24213}#
-                           #{rib 24214}#
-                           #{mod 24215}#)
-                         #{r 24211}#
+                         #{fval 24487}#
+                         #{w 24466}#
+                         #{fmod 24491}#)
+                       #{e 24464}#
+                       #{w 24466}#
+                       #{s 24467}#
+                       #{mod 24469}#)
+                     (if (eqv? #{ftype 24486}# 'macro)
+                       (#{syntax-type 4442}#
+                         (#{expand-macro 4446}#
+                           #{fval 24487}#
+                           #{e 24464}#
+                           #{r 24465}#
+                           #{w 24466}#
+                           #{s 24467}#
+                           #{rib 24468}#
+                           #{mod 24469}#)
+                         #{r 24465}#
                          '(())
-                         #{s 24213}#
-                         #{rib 24214}#
-                         #{mod 24215}#
-                         #{for-car? 24216}#)
-                       (if (eqv? #{ftype 24232}# 'module-ref)
+                         #{s 24467}#
+                         #{rib 24468}#
+                         #{mod 24469}#
+                         #{for-car? 24470}#)
+                       (if (eqv? #{ftype 24486}# 'module-ref)
                          (call-with-values
                            (lambda ()
-                             (#{fval 24233}#
-                               #{e 24210}#
-                               #{r 24211}#
-                               #{w 24212}#))
-                           (lambda (#{e 24258}#
-                                    #{r 24259}#
-                                    #{w 24260}#
-                                    #{s 24261}#
-                                    #{mod 24262}#)
-                             (#{syntax-type 4445}#
-                               #{e 24258}#
-                               #{r 24259}#
-                               #{w 24260}#
-                               #{s 24261}#
-                               #{rib 24214}#
-                               #{mod 24262}#
-                               #{for-car? 24216}#)))
-                         (if (eqv? #{ftype 24232}# 'core)
+                             (#{fval 24487}#
+                               #{e 24464}#
+                               #{r 24465}#
+                               #{w 24466}#))
+                           (lambda (#{e 24512}#
+                                    #{r 24513}#
+                                    #{w 24514}#
+                                    #{s 24515}#
+                                    #{mod 24516}#)
+                             (#{syntax-type 4442}#
+                               #{e 24512}#
+                               #{r 24513}#
+                               #{w 24514}#
+                               #{s 24515}#
+                               #{rib 24468}#
+                               #{mod 24516}#
+                               #{for-car? 24470}#)))
+                         (if (eqv? #{ftype 24486}# 'core)
                            (values
                              'core-form
-                             #{fval 24233}#
-                             #{e 24210}#
-                             #{w 24212}#
-                             #{s 24213}#
-                             #{mod 24215}#)
-                           (if (eqv? #{ftype 24232}# 'local-syntax)
+                             #{fval 24487}#
+                             #{e 24464}#
+                             #{w 24466}#
+                             #{s 24467}#
+                             #{mod 24469}#)
+                           (if (eqv? #{ftype 24486}# 'local-syntax)
                              (values
                                'local-syntax-form
-                               #{fval 24233}#
-                               #{e 24210}#
-                               #{w 24212}#
-                               #{s 24213}#
-                               #{mod 24215}#)
-                             (if (eqv? #{ftype 24232}# 'begin)
+                               #{fval 24487}#
+                               #{e 24464}#
+                               #{w 24466}#
+                               #{s 24467}#
+                               #{mod 24469}#)
+                             (if (eqv? #{ftype 24486}# 'begin)
                                (values
                                  'begin-form
                                  #f
-                                 #{e 24210}#
-                                 #{w 24212}#
-                                 #{s 24213}#
-                                 #{mod 24215}#)
-                               (if (eqv? #{ftype 24232}# 'eval-when)
+                                 #{e 24464}#
+                                 #{w 24466}#
+                                 #{s 24467}#
+                                 #{mod 24469}#)
+                               (if (eqv? #{ftype 24486}# 'eval-when)
                                  (values
                                    'eval-when-form
                                    #f
-                                   #{e 24210}#
-                                   #{w 24212}#
-                                   #{s 24213}#
-                                   #{mod 24215}#)
-                                 (if (eqv? #{ftype 24232}# 'define)
-                                   (let ((#{tmp 24279}#
+                                   #{e 24464}#
+                                   #{w 24466}#
+                                   #{s 24467}#
+                                   #{mod 24469}#)
+                                 (if (eqv? #{ftype 24486}# 'define)
+                                   (let ((#{tmp 24533}#
                                            ($sc-dispatch
-                                             #{e 24210}#
+                                             #{e 24464}#
                                              '(_ any any))))
-                                     (if (if #{tmp 24279}#
+                                     (if (if #{tmp 24533}#
                                            (@apply
-                                             (lambda (#{name 24283}#
-                                                      #{val 24284}#)
-                                               (if (symbol? #{name 24283}#)
+                                             (lambda (#{name 24537}#
+                                                      #{val 24538}#)
+                                               (if (symbol? #{name 24537}#)
                                                  #t
                                                  (if (if (vector?
-                                                           #{name 24283}#)
+                                                           #{name 24537}#)
                                                        (if (= (vector-length
-                                                                #{name 24283}#)
+                                                                #{name 24537}#)
                                                               4)
                                                          (eq? (vector-ref
-                                                                #{name 24283}#
+                                                                #{name 24537}#
                                                                 0)
                                                               'syntax-object)
                                                          #f)
                                                        #f)
                                                    (symbol?
                                                      (vector-ref
-                                                       #{name 24283}#
+                                                       #{name 24537}#
                                                        1))
                                                    #f)))
-                                             #{tmp 24279}#)
+                                             #{tmp 24533}#)
                                            #f)
                                        (@apply
-                                         (lambda (#{name 24311}# #{val 24312}#)
+                                         (lambda (#{name 24565}# #{val 24566}#)
                                            (values
                                              'define-form
-                                             #{name 24311}#
-                                             #{val 24312}#
-                                             #{w 24212}#
-                                             #{s 24213}#
-                                             #{mod 24215}#))
-                                         #{tmp 24279}#)
-                                       (let ((#{tmp 24313}#
+                                             #{name 24565}#
+                                             #{val 24566}#
+                                             #{w 24466}#
+                                             #{s 24467}#
+                                             #{mod 24469}#))
+                                         #{tmp 24533}#)
+                                       (let ((#{tmp 24567}#
                                                ($sc-dispatch
-                                                 #{e 24210}#
+                                                 #{e 24464}#
                                                  '(_ (any . any)
                                                      any
                                                      .
                                                      each-any))))
-                                         (if (if #{tmp 24313}#
+                                         (if (if #{tmp 24567}#
                                                (@apply
-                                                 (lambda (#{name 24317}#
-                                                          #{args 24318}#
-                                                          #{e1 24319}#
-                                                          #{e2 24320}#)
+                                                 (lambda (#{name 24571}#
+                                                          #{args 24572}#
+                                                          #{e1 24573}#
+                                                          #{e2 24574}#)
                                                    (if (if (symbol?
-                                                             #{name 24317}#)
+                                                             #{name 24571}#)
                                                          #t
                                                          (if (if (vector?
-                                                                   #{name 
24317}#)
+                                                                   #{name 
24571}#)
                                                                (if (= 
(vector-length
-                                                                        #{name 
24317}#)
+                                                                        #{name 
24571}#)
                                                                       4)
                                                                  (eq? 
(vector-ref
-                                                                        #{name 
24317}#
+                                                                        #{name 
24571}#
                                                                         0)
                                                                       
'syntax-object)
                                                                  #f)
                                                                #f)
                                                            (symbol?
                                                              (vector-ref
-                                                               #{name 24317}#
+                                                               #{name 24571}#
                                                                1))
                                                            #f))
-                                                     (#{valid-bound-ids? 4436}#
-                                                       (#{lambda-var-list 
4461}#
-                                                         #{args 24318}#))
+                                                     (#{valid-bound-ids? 4433}#
+                                                       (#{lambda-var-list 
4458}#
+                                                         #{args 24572}#))
                                                      #f))
-                                                 #{tmp 24313}#)
+                                                 #{tmp 24567}#)
                                                #f)
                                            (@apply
-                                             (lambda (#{name 24801}#
-                                                      #{args 24802}#
-                                                      #{e1 24803}#
-                                                      #{e2 24804}#)
+                                             (lambda (#{name 25055}#
+                                                      #{args 25056}#
+                                                      #{e1 25057}#
+                                                      #{e2 25058}#)
                                                (values
                                                  'define-form
-                                                 (if (if (null? (car #{w 
24212}#))
-                                                       (null? (cdr #{w 
24212}#))
+                                                 (if (if (null? (car #{w 
24466}#))
+                                                       (null? (cdr #{w 
24466}#))
                                                        #f)
-                                                   #{name 24801}#
+                                                   #{name 25055}#
                                                    (if (if (vector?
-                                                             #{name 24801}#)
+                                                             #{name 25055}#)
                                                          (if (= (vector-length
-                                                                  #{name 
24801}#)
+                                                                  #{name 
25055}#)
                                                                 4)
                                                            (eq? (vector-ref
-                                                                  #{name 
24801}#
+                                                                  #{name 
25055}#
                                                                   0)
                                                                 'syntax-object)
                                                            #f)
                                                          #f)
-                                                     (let ((#{expression 
24834}#
+                                                     (let ((#{expression 
25088}#
                                                              (vector-ref
-                                                               #{name 24801}#
+                                                               #{name 25055}#
                                                                1))
-                                                           (#{wrap 24835}#
-                                                             (let ((#{w2 
24845}#
+                                                           (#{wrap 25089}#
+                                                             (let ((#{w2 
25099}#
                                                                      
(vector-ref
-                                                                       #{name 
24801}#
+                                                                       #{name 
25055}#
                                                                        2)))
-                                                               (let ((#{m1 
24846}#
-                                                                       (car 
#{w 24212}#))
-                                                                     (#{s1 
24847}#
-                                                                       (cdr 
#{w 24212}#)))
-                                                                 (if (null? 
#{m1 24846}#)
-                                                                   (if (null? 
#{s1 24847}#)
-                                                                     #{w2 
24845}#
-                                                                     (cons 
(car #{w2 24845}#)
-                                                                           
(let ((#{m2 24864}#
-                                                                               
    (cdr #{w2 24845}#)))
-                                                                             
(if (null? #{m2 24864}#)
-                                                                               
#{s1 24847}#
+                                                               (let ((#{m1 
25100}#
+                                                                       (car 
#{w 24466}#))
+                                                                     (#{s1 
25101}#
+                                                                       (cdr 
#{w 24466}#)))
+                                                                 (if (null? 
#{m1 25100}#)
+                                                                   (if (null? 
#{s1 25101}#)
+                                                                     #{w2 
25099}#
+                                                                     (cons 
(car #{w2 25099}#)
+                                                                           
(let ((#{m2 25118}#
+                                                                               
    (cdr #{w2 25099}#)))
+                                                                             
(if (null? #{m2 25118}#)
+                                                                               
#{s1 25101}#
                                                                                
(append
-                                                                               
  #{s1 24847}#
-                                                                               
  #{m2 24864}#)))))
-                                                                   (cons (let 
((#{m2 24872}#
-                                                                               
  (car #{w2 24845}#)))
-                                                                           (if 
(null? #{m2 24872}#)
-                                                                             
#{m1 24846}#
+                                                                               
  #{s1 25101}#
+                                                                               
  #{m2 25118}#)))))
+                                                                   (cons (let 
((#{m2 25126}#
+                                                                               
  (car #{w2 25099}#)))
+                                                                           (if 
(null? #{m2 25126}#)
+                                                                             
#{m1 25100}#
                                                                              
(append
-                                                                               
#{m1 24846}#
-                                                                               
#{m2 24872}#)))
-                                                                         (let 
((#{m2 24880}#
-                                                                               
  (cdr #{w2 24845}#)))
-                                                                           (if 
(null? #{m2 24880}#)
-                                                                             
#{s1 24847}#
+                                                                               
#{m1 25100}#
+                                                                               
#{m2 25126}#)))
+                                                                         (let 
((#{m2 25134}#
+                                                                               
  (cdr #{w2 25099}#)))
+                                                                           (if 
(null? #{m2 25134}#)
+                                                                             
#{s1 25101}#
                                                                              
(append
-                                                                               
#{s1 24847}#
-                                                                               
#{m2 24880}#))))))))
-                                                           (#{module 24836}#
+                                                                               
#{s1 25101}#
+                                                                               
#{m2 25134}#))))))))
+                                                           (#{module 25090}#
                                                              (vector-ref
-                                                               #{name 24801}#
+                                                               #{name 25055}#
                                                                3)))
                                                        (vector
                                                          'syntax-object
-                                                         #{expression 24834}#
-                                                         #{wrap 24835}#
-                                                         #{module 24836}#))
-                                                     (if (null? #{name 24801}#)
-                                                       #{name 24801}#
+                                                         #{expression 25088}#
+                                                         #{wrap 25089}#
+                                                         #{module 25090}#))
+                                                     (if (null? #{name 25055}#)
+                                                       #{name 25055}#
                                                        (vector
                                                          'syntax-object
-                                                         #{name 24801}#
-                                                         #{w 24212}#
-                                                         #{mod 24215}#))))
-                                                 (let ((#{e 24906}#
+                                                         #{name 25055}#
+                                                         #{w 24466}#
+                                                         #{mod 24469}#))))
+                                                 (let ((#{e 25160}#
                                                          (cons '#(syntax-object
                                                                   lambda
                                                                   ((top)
@@ -2068,10 +2005,10 @@
                                                                        (top)
                                                                        (top)
                                                                        (top))
-                                                                     #("i1955"
-                                                                       "i1956"
-                                                                       "i1957"
-                                                                       
"i1958"))
+                                                                     #("i1952"
+                                                                       "i1953"
+                                                                       "i1954"
+                                                                       
"i1955"))
                                                                    #(ribcage
                                                                      ()
                                                                      ()
@@ -2093,12 +2030,12 @@
                                                                        (top)
                                                                        (top)
                                                                        (top))
-                                                                     #("i1908"
+                                                                     #("i1905"
+                                                                       "i1906"
+                                                                       "i1907"
+                                                                       "i1908"
                                                                        "i1909"
-                                                                       "i1910"
-                                                                       "i1911"
-                                                                       "i1912"
-                                                                       
"i1913"))
+                                                                       
"i1910"))
                                                                    #(ribcage
                                                                      ()
                                                                      ()
@@ -2106,7 +2043,7 @@
                                                                    #(ribcage
                                                                      #(first)
                                                                      #((top))
-                                                                     
#("i1900"))
+                                                                     
#("i1897"))
                                                                    #(ribcage
                                                                      ()
                                                                      ()
@@ -2134,35 +2071,35 @@
                                                                        (top)
                                                                        (top)
                                                                        (top))
-                                                                     #("i1879"
+                                                                     #("i1876"
+                                                                       "i1877"
+                                                                       "i1878"
+                                                                       "i1879"
                                                                        "i1880"
                                                                        "i1881"
-                                                                       "i1882"
-                                                                       "i1883"
-                                                                       "i1884"
-                                                                       
"i1885"))
+                                                                       
"i1882"))
                                                                    #(ribcage
                                                                      
(lambda-var-list
                                                                        gen-var
                                                                        strip
-                                                                       
chi-lambda-case
+                                                                       
expand-lambda-case
                                                                        
lambda*-formals
-                                                                       
chi-simple-lambda
+                                                                       
expand-simple-lambda
                                                                        
lambda-formals
                                                                        
ellipsis?
-                                                                       chi-void
+                                                                       
expand-void
                                                                        
eval-local-transformer
-                                                                       
chi-local-syntax
-                                                                       chi-body
-                                                                       
chi-macro
-                                                                       chi-call
-                                                                       chi-expr
-                                                                       chi
+                                                                       
expand-local-syntax
+                                                                       
expand-body
+                                                                       
expand-macro
+                                                                       
expand-call
+                                                                       
expand-expr
+                                                                       expand
                                                                        
syntax-type
-                                                                       
chi-when-list
-                                                                       
chi-install-global
-                                                                       
chi-top-sequence
-                                                                       
chi-sequence
+                                                                       
parse-when-list
+                                                                       
expand-install-global
+                                                                       
expand-top-sequence
+                                                                       
expand-sequence
                                                                        
source-wrap
                                                                        wrap
                                                                        
bound-id-member?
@@ -2572,199 +2509,199 @@
                                                                      ()))
                                                                   (hygiene
                                                                     guile))
-                                                               (let ((#{x 
24910}#
-                                                                       (cons 
#{args 24802}#
-                                                                             
(cons #{e1 24803}#
-                                                                               
    #{e2 24804}#))))
-                                                                 (if (if 
(null? (car #{w 24212}#))
-                                                                       (null? 
(cdr #{w 24212}#))
+                                                               (let ((#{x 
25164}#
+                                                                       (cons 
#{args 25056}#
+                                                                             
(cons #{e1 25057}#
+                                                                               
    #{e2 25058}#))))
+                                                                 (if (if 
(null? (car #{w 24466}#))
+                                                                       (null? 
(cdr #{w 24466}#))
                                                                        #f)
-                                                                   #{x 24910}#
+                                                                   #{x 25164}#
                                                                    (if (if 
(vector?
-                                                                             
#{x 24910}#)
+                                                                             
#{x 25164}#)
                                                                          (if 
(= (vector-length
-                                                                               
   #{x 24910}#)
+                                                                               
   #{x 25164}#)
                                                                                
 4)
                                                                            
(eq? (vector-ref
-                                                                               
   #{x 24910}#
+                                                                               
   #{x 25164}#
                                                                                
   0)
                                                                                
 'syntax-object)
                                                                            #f)
                                                                          #f)
-                                                                     (let 
((#{expression 24928}#
+                                                                     (let 
((#{expression 25182}#
                                                                              
(vector-ref
-                                                                               
#{x 24910}#
+                                                                               
#{x 25164}#
                                                                                
1))
-                                                                           
(#{wrap 24929}#
-                                                                             
(let ((#{w2 24937}#
+                                                                           
(#{wrap 25183}#
+                                                                             
(let ((#{w2 25191}#
                                                                                
      (vector-ref
-                                                                               
        #{x 24910}#
+                                                                               
        #{x 25164}#
                                                                                
        2)))
-                                                                               
(let ((#{m1 24938}#
-                                                                               
        (car #{w 24212}#))
-                                                                               
      (#{s1 24939}#
-                                                                               
        (cdr #{w 24212}#)))
-                                                                               
  (if (null? #{m1 24938}#)
-                                                                               
    (if (null? #{s1 24939}#)
-                                                                               
      #{w2 24937}#
-                                                                               
      (cons (car #{w2 24937}#)
-                                                                               
            (let ((#{m2 24954}#
-                                                                               
                    (cdr #{w2 24937}#)))
-                                                                               
              (if (null? #{m2 24954}#)
-                                                                               
                #{s1 24939}#
+                                                                               
(let ((#{m1 25192}#
+                                                                               
        (car #{w 24466}#))
+                                                                               
      (#{s1 25193}#
+                                                                               
        (cdr #{w 24466}#)))
+                                                                               
  (if (null? #{m1 25192}#)
+                                                                               
    (if (null? #{s1 25193}#)
+                                                                               
      #{w2 25191}#
+                                                                               
      (cons (car #{w2 25191}#)
+                                                                               
            (let ((#{m2 25208}#
+                                                                               
                    (cdr #{w2 25191}#)))
+                                                                               
              (if (null? #{m2 25208}#)
+                                                                               
                #{s1 25193}#
                                                                                
                (append
-                                                                               
                  #{s1 24939}#
-                                                                               
                  #{m2 24954}#)))))
-                                                                               
    (cons (let ((#{m2 24962}#
-                                                                               
                  (car #{w2 24937}#)))
-                                                                               
            (if (null? #{m2 24962}#)
-                                                                               
              #{m1 24938}#
+                                                                               
                  #{s1 25193}#
+                                                                               
                  #{m2 25208}#)))))
+                                                                               
    (cons (let ((#{m2 25216}#
+                                                                               
                  (car #{w2 25191}#)))
+                                                                               
            (if (null? #{m2 25216}#)
+                                                                               
              #{m1 25192}#
                                                                                
              (append
-                                                                               
                #{m1 24938}#
-                                                                               
                #{m2 24962}#)))
-                                                                               
          (let ((#{m2 24970}#
-                                                                               
                  (cdr #{w2 24937}#)))
-                                                                               
            (if (null? #{m2 24970}#)
-                                                                               
              #{s1 24939}#
+                                                                               
                #{m1 25192}#
+                                                                               
                #{m2 25216}#)))
+                                                                               
          (let ((#{m2 25224}#
+                                                                               
                  (cdr #{w2 25191}#)))
+                                                                               
            (if (null? #{m2 25224}#)
+                                                                               
              #{s1 25193}#
                                                                                
              (append
-                                                                               
                #{s1 24939}#
-                                                                               
                #{m2 24970}#))))))))
-                                                                           
(#{module 24930}#
+                                                                               
                #{s1 25193}#
+                                                                               
                #{m2 25224}#))))))))
+                                                                           
(#{module 25184}#
                                                                              
(vector-ref
-                                                                               
#{x 24910}#
+                                                                               
#{x 25164}#
                                                                                
3)))
                                                                        (vector
                                                                          
'syntax-object
-                                                                         
#{expression 24928}#
-                                                                         
#{wrap 24929}#
-                                                                         
#{module 24930}#))
-                                                                     (if 
(null? #{x 24910}#)
-                                                                       #{x 
24910}#
+                                                                         
#{expression 25182}#
+                                                                         
#{wrap 25183}#
+                                                                         
#{module 25184}#))
+                                                                     (if 
(null? #{x 25164}#)
+                                                                       #{x 
25164}#
                                                                        (vector
                                                                          
'syntax-object
-                                                                         #{x 
24910}#
-                                                                         #{w 
24212}#
-                                                                         #{mod 
24215}#))))))))
+                                                                         #{x 
25164}#
+                                                                         #{w 
24466}#
+                                                                         #{mod 
24469}#))))))))
                                                    (begin
-                                                     (if (if (pair? #{e 
24906}#)
-                                                           #{s 24213}#
+                                                     (if (if (pair? #{e 
25160}#)
+                                                           #{s 24467}#
                                                            #f)
                                                        (set-source-properties!
-                                                         #{e 24906}#
-                                                         #{s 24213}#))
-                                                     #{e 24906}#))
+                                                         #{e 25160}#
+                                                         #{s 24467}#))
+                                                     #{e 25160}#))
                                                  '(())
-                                                 #{s 24213}#
-                                                 #{mod 24215}#))
-                                             #{tmp 24313}#)
-                                           (let ((#{tmp 24989}#
+                                                 #{s 24467}#
+                                                 #{mod 24469}#))
+                                             #{tmp 24567}#)
+                                           (let ((#{tmp 25243}#
                                                    ($sc-dispatch
-                                                     #{e 24210}#
+                                                     #{e 24464}#
                                                      '(_ any))))
-                                             (if (if #{tmp 24989}#
+                                             (if (if #{tmp 25243}#
                                                    (@apply
-                                                     (lambda (#{name 24993}#)
+                                                     (lambda (#{name 25247}#)
                                                        (if (symbol?
-                                                             #{name 24993}#)
+                                                             #{name 25247}#)
                                                          #t
                                                          (if (if (vector?
-                                                                   #{name 
24993}#)
+                                                                   #{name 
25247}#)
                                                                (if (= 
(vector-length
-                                                                        #{name 
24993}#)
+                                                                        #{name 
25247}#)
                                                                       4)
                                                                  (eq? 
(vector-ref
-                                                                        #{name 
24993}#
+                                                                        #{name 
25247}#
                                                                         0)
                                                                       
'syntax-object)
                                                                  #f)
                                                                #f)
                                                            (symbol?
                                                              (vector-ref
-                                                               #{name 24993}#
+                                                               #{name 25247}#
                                                                1))
                                                            #f)))
-                                                     #{tmp 24989}#)
+                                                     #{tmp 25243}#)
                                                    #f)
                                                (@apply
-                                                 (lambda (#{name 25020}#)
+                                                 (lambda (#{name 25274}#)
                                                    (values
                                                      'define-form
-                                                     (if (if (null? (car #{w 
24212}#))
-                                                           (null? (cdr #{w 
24212}#))
+                                                     (if (if (null? (car #{w 
24466}#))
+                                                           (null? (cdr #{w 
24466}#))
                                                            #f)
-                                                       #{name 25020}#
+                                                       #{name 25274}#
                                                        (if (if (vector?
-                                                                 #{name 
25020}#)
+                                                                 #{name 
25274}#)
                                                              (if (= 
(vector-length
-                                                                      #{name 
25020}#)
+                                                                      #{name 
25274}#)
                                                                     4)
                                                                (eq? (vector-ref
-                                                                      #{name 
25020}#
+                                                                      #{name 
25274}#
                                                                       0)
                                                                     
'syntax-object)
                                                                #f)
                                                              #f)
-                                                         (let ((#{expression 
25050}#
+                                                         (let ((#{expression 
25304}#
                                                                  (vector-ref
-                                                                   #{name 
25020}#
+                                                                   #{name 
25274}#
                                                                    1))
-                                                               (#{wrap 25051}#
-                                                                 (let ((#{w2 
25061}#
+                                                               (#{wrap 25305}#
+                                                                 (let ((#{w2 
25315}#
                                                                          
(vector-ref
-                                                                           
#{name 25020}#
+                                                                           
#{name 25274}#
                                                                            2)))
-                                                                   (let ((#{m1 
25062}#
-                                                                           
(car #{w 24212}#))
-                                                                         (#{s1 
25063}#
-                                                                           
(cdr #{w 24212}#)))
-                                                                     (if 
(null? #{m1 25062}#)
-                                                                       (if 
(null? #{s1 25063}#)
-                                                                         #{w2 
25061}#
-                                                                         (cons 
(car #{w2 25061}#)
-                                                                               
(let ((#{m2 25080}#
-                                                                               
        (cdr #{w2 25061}#)))
-                                                                               
  (if (null? #{m2 25080}#)
-                                                                               
    #{s1 25063}#
+                                                                   (let ((#{m1 
25316}#
+                                                                           
(car #{w 24466}#))
+                                                                         (#{s1 
25317}#
+                                                                           
(cdr #{w 24466}#)))
+                                                                     (if 
(null? #{m1 25316}#)
+                                                                       (if 
(null? #{s1 25317}#)
+                                                                         #{w2 
25315}#
+                                                                         (cons 
(car #{w2 25315}#)
+                                                                               
(let ((#{m2 25334}#
+                                                                               
        (cdr #{w2 25315}#)))
+                                                                               
  (if (null? #{m2 25334}#)
+                                                                               
    #{s1 25317}#
                                                                                
    (append
-                                                                               
      #{s1 25063}#
-                                                                               
      #{m2 25080}#)))))
-                                                                       (cons 
(let ((#{m2 25088}#
-                                                                               
      (car #{w2 25061}#)))
-                                                                               
(if (null? #{m2 25088}#)
-                                                                               
  #{m1 25062}#
+                                                                               
      #{s1 25317}#
+                                                                               
      #{m2 25334}#)))))
+                                                                       (cons 
(let ((#{m2 25342}#
+                                                                               
      (car #{w2 25315}#)))
+                                                                               
(if (null? #{m2 25342}#)
+                                                                               
  #{m1 25316}#
                                                                                
  (append
-                                                                               
    #{m1 25062}#
-                                                                               
    #{m2 25088}#)))
-                                                                             
(let ((#{m2 25096}#
-                                                                               
      (cdr #{w2 25061}#)))
-                                                                               
(if (null? #{m2 25096}#)
-                                                                               
  #{s1 25063}#
+                                                                               
    #{m1 25316}#
+                                                                               
    #{m2 25342}#)))
+                                                                             
(let ((#{m2 25350}#
+                                                                               
      (cdr #{w2 25315}#)))
+                                                                               
(if (null? #{m2 25350}#)
+                                                                               
  #{s1 25317}#
                                                                                
  (append
-                                                                               
    #{s1 25063}#
-                                                                               
    #{m2 25096}#))))))))
-                                                               (#{module 
25052}#
+                                                                               
    #{s1 25317}#
+                                                                               
    #{m2 25350}#))))))))
+                                                               (#{module 
25306}#
                                                                  (vector-ref
-                                                                   #{name 
25020}#
+                                                                   #{name 
25274}#
                                                                    3)))
                                                            (vector
                                                              'syntax-object
-                                                             #{expression 
25050}#
-                                                             #{wrap 25051}#
-                                                             #{module 25052}#))
-                                                         (if (null? #{name 
25020}#)
-                                                           #{name 25020}#
+                                                             #{expression 
25304}#
+                                                             #{wrap 25305}#
+                                                             #{module 25306}#))
+                                                         (if (null? #{name 
25274}#)
+                                                           #{name 25274}#
                                                            (vector
                                                              'syntax-object
-                                                             #{name 25020}#
-                                                             #{w 24212}#
-                                                             #{mod 24215}#))))
+                                                             #{name 25274}#
+                                                             #{w 24466}#
+                                                             #{mod 24469}#))))
                                                      '(#(syntax-object
                                                          if
                                                          ((top)
                                                           #(ribcage
                                                             #(name)
                                                             #((top))
-                                                            #("i1968"))
+                                                            #("i1965"))
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
                                                           #(ribcage
@@ -2780,17 +2717,17 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i1908"
+                                                            #("i1905"
+                                                              "i1906"
+                                                              "i1907"
+                                                              "i1908"
                                                               "i1909"
-                                                              "i1910"
-                                                              "i1911"
-                                                              "i1912"
-                                                              "i1913"))
+                                                              "i1910"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(first)
                                                             #((top))
-                                                            #("i1900"))
+                                                            #("i1897"))
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
@@ -2809,35 +2746,35 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i1879"
+                                                            #("i1876"
+                                                              "i1877"
+                                                              "i1878"
+                                                              "i1879"
                                                               "i1880"
                                                               "i1881"
-                                                              "i1882"
-                                                              "i1883"
-                                                              "i1884"
-                                                              "i1885"))
+                                                              "i1882"))
                                                           #(ribcage
                                                             (lambda-var-list
                                                               gen-var
                                                               strip
-                                                              chi-lambda-case
+                                                              
expand-lambda-case
                                                               lambda*-formals
-                                                              chi-simple-lambda
+                                                              
expand-simple-lambda
                                                               lambda-formals
                                                               ellipsis?
-                                                              chi-void
+                                                              expand-void
                                                               
eval-local-transformer
-                                                              chi-local-syntax
-                                                              chi-body
-                                                              chi-macro
-                                                              chi-call
-                                                              chi-expr
-                                                              chi
+                                                              
expand-local-syntax
+                                                              expand-body
+                                                              expand-macro
+                                                              expand-call
+                                                              expand-expr
+                                                              expand
                                                               syntax-type
-                                                              chi-when-list
-                                                              
chi-install-global
-                                                              chi-top-sequence
-                                                              chi-sequence
+                                                              parse-when-list
+                                                              
expand-install-global
+                                                              
expand-top-sequence
+                                                              expand-sequence
                                                               source-wrap
                                                               wrap
                                                               bound-id-member?
@@ -3247,7 +3184,7 @@
                                                           #(ribcage
                                                             #(name)
                                                             #((top))
-                                                            #("i1968"))
+                                                            #("i1965"))
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
                                                           #(ribcage
@@ -3263,17 +3200,17 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i1908"
+                                                            #("i1905"
+                                                              "i1906"
+                                                              "i1907"
+                                                              "i1908"
                                                               "i1909"
-                                                              "i1910"
-                                                              "i1911"
-                                                              "i1912"
-                                                              "i1913"))
+                                                              "i1910"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(first)
                                                             #((top))
-                                                            #("i1900"))
+                                                            #("i1897"))
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
@@ -3292,35 +3229,35 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i1879"
+                                                            #("i1876"
+                                                              "i1877"
+                                                              "i1878"
+                                                              "i1879"
                                                               "i1880"
                                                               "i1881"
-                                                              "i1882"
-                                                              "i1883"
-                                                              "i1884"
-                                                              "i1885"))
+                                                              "i1882"))
                                                           #(ribcage
                                                             (lambda-var-list
                                                               gen-var
                                                               strip
-                                                              chi-lambda-case
+                                                              
expand-lambda-case
                                                               lambda*-formals
-                                                              chi-simple-lambda
+                                                              
expand-simple-lambda
                                                               lambda-formals
                                                               ellipsis?
-                                                              chi-void
+                                                              expand-void
                                                               
eval-local-transformer
-                                                              chi-local-syntax
-                                                              chi-body
-                                                              chi-macro
-                                                              chi-call
-                                                              chi-expr
-                                                              chi
+                                                              
expand-local-syntax
+                                                              expand-body
+                                                              expand-macro
+                                                              expand-call
+                                                              expand-expr
+                                                              expand
                                                               syntax-type
-                                                              chi-when-list
-                                                              
chi-install-global
-                                                              chi-top-sequence
-                                                              chi-sequence
+                                                              parse-when-list
+                                                              
expand-install-global
+                                                              
expand-top-sequence
+                                                              expand-sequence
                                                               source-wrap
                                                               wrap
                                                               bound-id-member?
@@ -3730,7 +3667,7 @@
                                                           #(ribcage
                                                             #(name)
                                                             #((top))
-                                                            #("i1968"))
+                                                            #("i1965"))
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
                                                           #(ribcage
@@ -3746,17 +3683,17 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i1908"
+                                                            #("i1905"
+                                                              "i1906"
+                                                              "i1907"
+                                                              "i1908"
                                                               "i1909"
-                                                              "i1910"
-                                                              "i1911"
-                                                              "i1912"
-                                                              "i1913"))
+                                                              "i1910"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(first)
                                                             #((top))
-                                                            #("i1900"))
+                                                            #("i1897"))
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
@@ -3775,35 +3712,35 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i1879"
+                                                            #("i1876"
+                                                              "i1877"
+                                                              "i1878"
+                                                              "i1879"
                                                               "i1880"
                                                               "i1881"
-                                                              "i1882"
-                                                              "i1883"
-                                                              "i1884"
-                                                              "i1885"))
+                                                              "i1882"))
                                                           #(ribcage
                                                             (lambda-var-list
                                                               gen-var
                                                               strip
-                                                              chi-lambda-case
+                                                              
expand-lambda-case
                                                               lambda*-formals
-                                                              chi-simple-lambda
+                                                              
expand-simple-lambda
                                                               lambda-formals
                                                               ellipsis?
-                                                              chi-void
+                                                              expand-void
                                                               
eval-local-transformer
-                                                              chi-local-syntax
-                                                              chi-body
-                                                              chi-macro
-                                                              chi-call
-                                                              chi-expr
-                                                              chi
+                                                              
expand-local-syntax
+                                                              expand-body
+                                                              expand-macro
+                                                              expand-call
+                                                              expand-expr
+                                                              expand
                                                               syntax-type
-                                                              chi-when-list
-                                                              
chi-install-global
-                                                              chi-top-sequence
-                                                              chi-sequence
+                                                              parse-when-list
+                                                              
expand-install-global
+                                                              
expand-top-sequence
+                                                              expand-sequence
                                                               source-wrap
                                                               wrap
                                                               bound-id-member?
@@ -4208,2099 +4145,2098 @@
                                                           #(ribcage () () ()))
                                                          (hygiene guile)))
                                                      '(())
-                                                     #{s 24213}#
-                                                     #{mod 24215}#))
-                                                 #{tmp 24989}#)
+                                                     #{s 24467}#
+                                                     #{mod 24469}#))
+                                                 #{tmp 25243}#)
                                                (syntax-violation
                                                  #f
                                                  "source expression failed to 
match any pattern"
-                                                 #{e 24210}#)))))))
-                                   (if (eqv? #{ftype 24232}# 'define-syntax)
-                                     (let ((#{tmp 25135}#
+                                                 #{e 24464}#)))))))
+                                   (if (eqv? #{ftype 24486}# 'define-syntax)
+                                     (let ((#{tmp 25389}#
                                              ($sc-dispatch
-                                               #{e 24210}#
+                                               #{e 24464}#
                                                '(_ any any))))
-                                       (if (if #{tmp 25135}#
+                                       (if (if #{tmp 25389}#
                                              (@apply
-                                               (lambda (#{name 25139}#
-                                                        #{val 25140}#)
-                                                 (if (symbol? #{name 25139}#)
+                                               (lambda (#{name 25393}#
+                                                        #{val 25394}#)
+                                                 (if (symbol? #{name 25393}#)
                                                    #t
                                                    (if (if (vector?
-                                                             #{name 25139}#)
+                                                             #{name 25393}#)
                                                          (if (= (vector-length
-                                                                  #{name 
25139}#)
+                                                                  #{name 
25393}#)
                                                                 4)
                                                            (eq? (vector-ref
-                                                                  #{name 
25139}#
+                                                                  #{name 
25393}#
                                                                   0)
                                                                 'syntax-object)
                                                            #f)
                                                          #f)
                                                      (symbol?
                                                        (vector-ref
-                                                         #{name 25139}#
+                                                         #{name 25393}#
                                                          1))
                                                      #f)))
-                                               #{tmp 25135}#)
+                                               #{tmp 25389}#)
                                              #f)
                                          (@apply
-                                           (lambda (#{name 25167}#
-                                                    #{val 25168}#)
+                                           (lambda (#{name 25421}#
+                                                    #{val 25422}#)
                                              (values
                                                'define-syntax-form
-                                               #{name 25167}#
-                                               #{val 25168}#
-                                               #{w 24212}#
-                                               #{s 24213}#
-                                               #{mod 24215}#))
-                                           #{tmp 25135}#)
+                                               #{name 25421}#
+                                               #{val 25422}#
+                                               #{w 24466}#
+                                               #{s 24467}#
+                                               #{mod 24469}#))
+                                           #{tmp 25389}#)
                                          (syntax-violation
                                            #f
                                            "source expression failed to match 
any pattern"
-                                           #{e 24210}#)))
-                                     (if (eqv? #{ftype 24232}#
+                                           #{e 24464}#)))
+                                     (if (eqv? #{ftype 24486}#
                                                'define-syntax-parameter)
-                                       (let ((#{tmp 25179}#
+                                       (let ((#{tmp 25433}#
                                                ($sc-dispatch
-                                                 #{e 24210}#
+                                                 #{e 24464}#
                                                  '(_ any any))))
-                                         (if (if #{tmp 25179}#
+                                         (if (if #{tmp 25433}#
                                                (@apply
-                                                 (lambda (#{name 25183}#
-                                                          #{val 25184}#)
-                                                   (if (symbol? #{name 25183}#)
+                                                 (lambda (#{name 25437}#
+                                                          #{val 25438}#)
+                                                   (if (symbol? #{name 25437}#)
                                                      #t
                                                      (if (if (vector?
-                                                               #{name 25183}#)
+                                                               #{name 25437}#)
                                                            (if (= 
(vector-length
-                                                                    #{name 
25183}#)
+                                                                    #{name 
25437}#)
                                                                   4)
                                                              (eq? (vector-ref
-                                                                    #{name 
25183}#
+                                                                    #{name 
25437}#
                                                                     0)
                                                                   
'syntax-object)
                                                              #f)
                                                            #f)
                                                        (symbol?
                                                          (vector-ref
-                                                           #{name 25183}#
+                                                           #{name 25437}#
                                                            1))
                                                        #f)))
-                                                 #{tmp 25179}#)
+                                                 #{tmp 25433}#)
                                                #f)
                                            (@apply
-                                             (lambda (#{name 25211}#
-                                                      #{val 25212}#)
+                                             (lambda (#{name 25465}#
+                                                      #{val 25466}#)
                                                (values
                                                  'define-syntax-parameter-form
-                                                 #{name 25211}#
-                                                 #{val 25212}#
-                                                 #{w 24212}#
-                                                 #{s 24213}#
-                                                 #{mod 24215}#))
-                                             #{tmp 25179}#)
+                                                 #{name 25465}#
+                                                 #{val 25466}#
+                                                 #{w 24466}#
+                                                 #{s 24467}#
+                                                 #{mod 24469}#))
+                                             #{tmp 25433}#)
                                            (syntax-violation
                                              #f
                                              "source expression failed to 
match any pattern"
-                                             #{e 24210}#)))
+                                             #{e 24464}#)))
                                        (values
                                          'call
                                          #f
-                                         #{e 24210}#
-                                         #{w 24212}#
-                                         #{s 24213}#
-                                         #{mod 24215}#)))))))))))))))
-           (if (if (vector? #{e 24210}#)
-                 (if (= (vector-length #{e 24210}#) 4)
-                   (eq? (vector-ref #{e 24210}# 0) 'syntax-object)
+                                         #{e 24464}#
+                                         #{w 24466}#
+                                         #{s 24467}#
+                                         #{mod 24469}#)))))))))))))))
+           (if (if (vector? #{e 24464}#)
+                 (if (= (vector-length #{e 24464}#) 4)
+                   (eq? (vector-ref #{e 24464}# 0) 'syntax-object)
                    #f)
                  #f)
-             (#{syntax-type 4445}#
-               (vector-ref #{e 24210}# 1)
-               #{r 24211}#
-               (let ((#{w2 25237}# (vector-ref #{e 24210}# 2)))
-                 (let ((#{m1 25238}# (car #{w 24212}#))
-                       (#{s1 25239}# (cdr #{w 24212}#)))
-                   (if (null? #{m1 25238}#)
-                     (if (null? #{s1 25239}#)
-                       #{w2 25237}#
-                       (cons (car #{w2 25237}#)
-                             (let ((#{m2 25250}# (cdr #{w2 25237}#)))
-                               (if (null? #{m2 25250}#)
-                                 #{s1 25239}#
-                                 (append #{s1 25239}# #{m2 25250}#)))))
-                     (cons (let ((#{m2 25258}# (car #{w2 25237}#)))
-                             (if (null? #{m2 25258}#)
-                               #{m1 25238}#
-                               (append #{m1 25238}# #{m2 25258}#)))
-                           (let ((#{m2 25266}# (cdr #{w2 25237}#)))
-                             (if (null? #{m2 25266}#)
-                               #{s1 25239}#
-                               (append #{s1 25239}# #{m2 25266}#)))))))
-               (let ((#{t 25271}#
-                       (#{source-annotation 4407}# #{e 24210}#)))
-                 (if #{t 25271}# #{t 25271}# #{s 24213}#))
-               #{rib 24214}#
-               (let ((#{t 25569}# (vector-ref #{e 24210}# 3)))
-                 (if #{t 25569}# #{t 25569}# #{mod 24215}#))
-               #{for-car? 24216}#)
-             (if (self-evaluating? #{e 24210}#)
+             (#{syntax-type 4442}#
+               (vector-ref #{e 24464}# 1)
+               #{r 24465}#
+               (let ((#{w2 25491}# (vector-ref #{e 24464}# 2)))
+                 (let ((#{m1 25492}# (car #{w 24466}#))
+                       (#{s1 25493}# (cdr #{w 24466}#)))
+                   (if (null? #{m1 25492}#)
+                     (if (null? #{s1 25493}#)
+                       #{w2 25491}#
+                       (cons (car #{w2 25491}#)
+                             (let ((#{m2 25504}# (cdr #{w2 25491}#)))
+                               (if (null? #{m2 25504}#)
+                                 #{s1 25493}#
+                                 (append #{s1 25493}# #{m2 25504}#)))))
+                     (cons (let ((#{m2 25512}# (car #{w2 25491}#)))
+                             (if (null? #{m2 25512}#)
+                               #{m1 25492}#
+                               (append #{m1 25492}# #{m2 25512}#)))
+                           (let ((#{m2 25520}# (cdr #{w2 25491}#)))
+                             (if (null? #{m2 25520}#)
+                               #{s1 25493}#
+                               (append #{s1 25493}# #{m2 25520}#)))))))
+               (let ((#{t 25525}#
+                       (#{source-annotation 4404}# #{e 24464}#)))
+                 (if #{t 25525}# #{t 25525}# #{s 24467}#))
+               #{rib 24468}#
+               (let ((#{t 25823}# (vector-ref #{e 24464}# 3)))
+                 (if #{t 25823}# #{t 25823}# #{mod 24469}#))
+               #{for-car? 24470}#)
+             (if (self-evaluating? #{e 24464}#)
                (values
                  'constant
                  #f
-                 #{e 24210}#
-                 #{w 24212}#
-                 #{s 24213}#
-                 #{mod 24215}#)
+                 #{e 24464}#
+                 #{w 24466}#
+                 #{s 24467}#
+                 #{mod 24469}#)
                (values
                  'other
                  #f
-                 #{e 24210}#
-                 #{w 24212}#
-                 #{s 24213}#
-                 #{mod 24215}#)))))))
-   (#{chi 4446}#
-     (lambda (#{e 25578}#
-              #{r 25579}#
-              #{w 25580}#
-              #{mod 25581}#)
+                 #{e 24464}#
+                 #{w 24466}#
+                 #{s 24467}#
+                 #{mod 24469}#)))))))
+   (#{expand 4443}#
+     (lambda (#{e 25832}#
+              #{r 25833}#
+              #{w 25834}#
+              #{mod 25835}#)
        (call-with-values
          (lambda ()
-           (#{syntax-type 4445}#
-             #{e 25578}#
-             #{r 25579}#
-             #{w 25580}#
-             (#{source-annotation 4407}# #{e 25578}#)
+           (#{syntax-type 4442}#
+             #{e 25832}#
+             #{r 25833}#
+             #{w 25834}#
+             (#{source-annotation 4404}# #{e 25832}#)
              #f
-             #{mod 25581}#
+             #{mod 25835}#
              #f))
-         (lambda (#{type 25785}#
-                  #{value 25786}#
-                  #{e 25787}#
-                  #{w 25788}#
-                  #{s 25789}#
-                  #{mod 25790}#)
-           (#{chi-expr 4447}#
-             #{type 25785}#
-             #{value 25786}#
-             #{e 25787}#
-             #{r 25579}#
-             #{w 25788}#
-             #{s 25789}#
-             #{mod 25790}#)))))
-   (#{chi-expr 4447}#
-     (lambda (#{type 25793}#
-              #{value 25794}#
-              #{e 25795}#
-              #{r 25796}#
-              #{w 25797}#
-              #{s 25798}#
-              #{mod 25799}#)
-       (if (eqv? #{type 25793}# 'lexical)
+         (lambda (#{type 26039}#
+                  #{value 26040}#
+                  #{e 26041}#
+                  #{w 26042}#
+                  #{s 26043}#
+                  #{mod 26044}#)
+           (#{expand-expr 4444}#
+             #{type 26039}#
+             #{value 26040}#
+             #{e 26041}#
+             #{r 25833}#
+             #{w 26042}#
+             #{s 26043}#
+             #{mod 26044}#)))))
+   (#{expand-expr 4444}#
+     (lambda (#{type 26047}#
+              #{value 26048}#
+              #{e 26049}#
+              #{r 26050}#
+              #{w 26051}#
+              #{s 26052}#
+              #{mod 26053}#)
+       (if (eqv? #{type 26047}# 'lexical)
          (make-struct/no-tail
            (vector-ref %expanded-vtables 3)
-           #{s 25798}#
-           #{e 25795}#
-           #{value 25794}#)
-         (if (if (eqv? #{type 25793}# 'core)
+           #{s 26052}#
+           #{e 26049}#
+           #{value 26048}#)
+         (if (if (eqv? #{type 26047}# 'core)
                #t
-               (eqv? #{type 25793}# 'core-form))
-           (#{value 25794}#
-             #{e 25795}#
-             #{r 25796}#
-             #{w 25797}#
-             #{s 25798}#
-             #{mod 25799}#)
-           (if (eqv? #{type 25793}# 'module-ref)
+               (eqv? #{type 26047}# 'core-form))
+           (#{value 26048}#
+             #{e 26049}#
+             #{r 26050}#
+             #{w 26051}#
+             #{s 26052}#
+             #{mod 26053}#)
+           (if (eqv? #{type 26047}# 'module-ref)
              (call-with-values
                (lambda ()
-                 (#{value 25794}#
-                   #{e 25795}#
-                   #{r 25796}#
-                   #{w 25797}#))
-               (lambda (#{e 25825}#
-                        #{r 25826}#
-                        #{w 25827}#
-                        #{s 25828}#
-                        #{mod 25829}#)
-                 (#{chi 4446}#
-                   #{e 25825}#
-                   #{r 25826}#
-                   #{w 25827}#
-                   #{mod 25829}#)))
-             (if (eqv? #{type 25793}# 'lexical-call)
-               (#{chi-call 4448}#
-                 (let ((#{id 26010}# (car #{e 25795}#)))
-                   (#{build-lexical-reference 4383}#
+                 (#{value 26048}#
+                   #{e 26049}#
+                   #{r 26050}#
+                   #{w 26051}#))
+               (lambda (#{e 26079}#
+                        #{r 26080}#
+                        #{w 26081}#
+                        #{s 26082}#
+                        #{mod 26083}#)
+                 (#{expand 4443}#
+                   #{e 26079}#
+                   #{r 26080}#
+                   #{w 26081}#
+                   #{mod 26083}#)))
+             (if (eqv? #{type 26047}# 'lexical-call)
+               (#{expand-call 4445}#
+                 (let ((#{id 26264}# (car #{e 26049}#)))
+                   (#{build-lexical-reference 4380}#
                      'fun
-                     (#{source-annotation 4407}# #{id 26010}#)
-                     (if (if (vector? #{id 26010}#)
-                           (if (= (vector-length #{id 26010}#) 4)
-                             (eq? (vector-ref #{id 26010}# 0) 'syntax-object)
+                     (#{source-annotation 4404}# #{id 26264}#)
+                     (if (if (vector? #{id 26264}#)
+                           (if (= (vector-length #{id 26264}#) 4)
+                             (eq? (vector-ref #{id 26264}# 0) 'syntax-object)
                              #f)
                            #f)
-                       (syntax->datum #{id 26010}#)
-                       #{id 26010}#)
-                     #{value 25794}#))
-                 #{e 25795}#
-                 #{r 25796}#
-                 #{w 25797}#
-                 #{s 25798}#
-                 #{mod 25799}#)
-               (if (eqv? #{type 25793}# 'global-call)
-                 (#{chi-call 4448}#
-                   (#{build-global-reference 4386}#
-                     (#{source-annotation 4407}# (car #{e 25795}#))
-                     (if (if (vector? #{value 25794}#)
-                           (if (= (vector-length #{value 25794}#) 4)
-                             (eq? (vector-ref #{value 25794}# 0)
+                       (syntax->datum #{id 26264}#)
+                       #{id 26264}#)
+                     #{value 26048}#))
+                 #{e 26049}#
+                 #{r 26050}#
+                 #{w 26051}#
+                 #{s 26052}#
+                 #{mod 26053}#)
+               (if (eqv? #{type 26047}# 'global-call)
+                 (#{expand-call 4445}#
+                   (#{build-global-reference 4383}#
+                     (#{source-annotation 4404}# (car #{e 26049}#))
+                     (if (if (vector? #{value 26048}#)
+                           (if (= (vector-length #{value 26048}#) 4)
+                             (eq? (vector-ref #{value 26048}# 0)
                                   'syntax-object)
                              #f)
                            #f)
-                       (vector-ref #{value 25794}# 1)
-                       #{value 25794}#)
-                     (if (if (vector? #{value 25794}#)
-                           (if (= (vector-length #{value 25794}#) 4)
-                             (eq? (vector-ref #{value 25794}# 0)
+                       (vector-ref #{value 26048}# 1)
+                       #{value 26048}#)
+                     (if (if (vector? #{value 26048}#)
+                           (if (= (vector-length #{value 26048}#) 4)
+                             (eq? (vector-ref #{value 26048}# 0)
                                   'syntax-object)
                              #f)
                            #f)
-                       (vector-ref #{value 25794}# 3)
-                       #{mod 25799}#))
-                   #{e 25795}#
-                   #{r 25796}#
-                   #{w 25797}#
-                   #{s 25798}#
-                   #{mod 25799}#)
-                 (if (eqv? #{type 25793}# 'constant)
-                   (let ((#{exp 26732}#
-                           (#{strip 4459}#
-                             (let ((#{x 26745}#
+                       (vector-ref #{value 26048}# 3)
+                       #{mod 26053}#))
+                   #{e 26049}#
+                   #{r 26050}#
+                   #{w 26051}#
+                   #{s 26052}#
+                   #{mod 26053}#)
+                 (if (eqv? #{type 26047}# 'constant)
+                   (let ((#{exp 26986}#
+                           (#{strip 4456}#
+                             (let ((#{x 26999}#
                                      (begin
-                                       (if (if (pair? #{e 25795}#)
-                                             #{s 25798}#
+                                       (if (if (pair? #{e 26049}#)
+                                             #{s 26052}#
                                              #f)
                                          (set-source-properties!
-                                           #{e 25795}#
-                                           #{s 25798}#))
-                                       #{e 25795}#)))
-                               (if (if (null? (car #{w 25797}#))
-                                     (null? (cdr #{w 25797}#))
+                                           #{e 26049}#
+                                           #{s 26052}#))
+                                       #{e 26049}#)))
+                               (if (if (null? (car #{w 26051}#))
+                                     (null? (cdr #{w 26051}#))
                                      #f)
-                                 #{x 26745}#
-                                 (if (if (vector? #{x 26745}#)
-                                       (if (= (vector-length #{x 26745}#) 4)
-                                         (eq? (vector-ref #{x 26745}# 0)
+                                 #{x 26999}#
+                                 (if (if (vector? #{x 26999}#)
+                                       (if (= (vector-length #{x 26999}#) 4)
+                                         (eq? (vector-ref #{x 26999}# 0)
                                               'syntax-object)
                                          #f)
                                        #f)
-                                   (let ((#{expression 26777}#
-                                           (vector-ref #{x 26745}# 1))
-                                         (#{wrap 26778}#
-                                           (let ((#{w2 26786}#
-                                                   (vector-ref #{x 26745}# 2)))
-                                             (let ((#{m1 26787}#
-                                                     (car #{w 25797}#))
-                                                   (#{s1 26788}#
-                                                     (cdr #{w 25797}#)))
-                                               (if (null? #{m1 26787}#)
-                                                 (if (null? #{s1 26788}#)
-                                                   #{w2 26786}#
-                                                   (cons (car #{w2 26786}#)
-                                                         (let ((#{m2 26803}#
-                                                                 (cdr #{w2 
26786}#)))
-                                                           (if (null? #{m2 
26803}#)
-                                                             #{s1 26788}#
+                                   (let ((#{expression 27031}#
+                                           (vector-ref #{x 26999}# 1))
+                                         (#{wrap 27032}#
+                                           (let ((#{w2 27040}#
+                                                   (vector-ref #{x 26999}# 2)))
+                                             (let ((#{m1 27041}#
+                                                     (car #{w 26051}#))
+                                                   (#{s1 27042}#
+                                                     (cdr #{w 26051}#)))
+                                               (if (null? #{m1 27041}#)
+                                                 (if (null? #{s1 27042}#)
+                                                   #{w2 27040}#
+                                                   (cons (car #{w2 27040}#)
+                                                         (let ((#{m2 27057}#
+                                                                 (cdr #{w2 
27040}#)))
+                                                           (if (null? #{m2 
27057}#)
+                                                             #{s1 27042}#
                                                              (append
-                                                               #{s1 26788}#
-                                                               #{m2 
26803}#)))))
-                                                 (cons (let ((#{m2 26811}#
-                                                               (car #{w2 
26786}#)))
-                                                         (if (null? #{m2 
26811}#)
-                                                           #{m1 26787}#
+                                                               #{s1 27042}#
+                                                               #{m2 
27057}#)))))
+                                                 (cons (let ((#{m2 27065}#
+                                                               (car #{w2 
27040}#)))
+                                                         (if (null? #{m2 
27065}#)
+                                                           #{m1 27041}#
                                                            (append
-                                                             #{m1 26787}#
-                                                             #{m2 26811}#)))
-                                                       (let ((#{m2 26819}#
-                                                               (cdr #{w2 
26786}#)))
-                                                         (if (null? #{m2 
26819}#)
-                                                           #{s1 26788}#
+                                                             #{m1 27041}#
+                                                             #{m2 27065}#)))
+                                                       (let ((#{m2 27073}#
+                                                               (cdr #{w2 
27040}#)))
+                                                         (if (null? #{m2 
27073}#)
+                                                           #{s1 27042}#
                                                            (append
-                                                             #{s1 26788}#
-                                                             #{m2 
26819}#))))))))
-                                         (#{module 26779}#
-                                           (vector-ref #{x 26745}# 3)))
+                                                             #{s1 27042}#
+                                                             #{m2 
27073}#))))))))
+                                         (#{module 27033}#
+                                           (vector-ref #{x 26999}# 3)))
                                      (vector
                                        'syntax-object
-                                       #{expression 26777}#
-                                       #{wrap 26778}#
-                                       #{module 26779}#))
-                                   (if (null? #{x 26745}#)
-                                     #{x 26745}#
+                                       #{expression 27031}#
+                                       #{wrap 27032}#
+                                       #{module 27033}#))
+                                   (if (null? #{x 26999}#)
+                                     #{x 26999}#
                                      (vector
                                        'syntax-object
-                                       #{x 26745}#
-                                       #{w 25797}#
-                                       #{mod 25799}#)))))
+                                       #{x 26999}#
+                                       #{w 26051}#
+                                       #{mod 26053}#)))))
                              '(()))))
                      (make-struct/no-tail
                        (vector-ref %expanded-vtables 1)
-                       #{s 25798}#
-                       #{exp 26732}#))
-                   (if (eqv? #{type 25793}# 'global)
-                     (#{analyze-variable 4385}#
-                       #{mod 25799}#
-                       #{value 25794}#
-                       (lambda (#{mod 26844}# #{var 26845}# #{public? 26846}#)
+                       #{s 26052}#
+                       #{exp 26986}#))
+                   (if (eqv? #{type 26047}# 'global)
+                     (#{analyze-variable 4382}#
+                       #{mod 26053}#
+                       #{value 26048}#
+                       (lambda (#{mod 27098}# #{var 27099}# #{public? 27100}#)
                          (make-struct/no-tail
                            (vector-ref %expanded-vtables 5)
-                           #{s 25798}#
-                           #{mod 26844}#
-                           #{var 26845}#
-                           #{public? 26846}#))
-                       (lambda (#{var 26854}#)
+                           #{s 26052}#
+                           #{mod 27098}#
+                           #{var 27099}#
+                           #{public? 27100}#))
+                       (lambda (#{var 27108}#)
                          (make-struct/no-tail
                            (vector-ref %expanded-vtables 7)
-                           #{s 25798}#
-                           #{var 26854}#)))
-                     (if (eqv? #{type 25793}# 'call)
-                       (#{chi-call 4448}#
-                         (#{chi 4446}#
-                           (car #{e 25795}#)
-                           #{r 25796}#
-                           #{w 25797}#
-                           #{mod 25799}#)
-                         #{e 25795}#
-                         #{r 25796}#
-                         #{w 25797}#
-                         #{s 25798}#
-                         #{mod 25799}#)
-                       (if (eqv? #{type 25793}# 'begin-form)
-                         (let ((#{tmp 27032}#
+                           #{s 26052}#
+                           #{var 27108}#)))
+                     (if (eqv? #{type 26047}# 'call)
+                       (#{expand-call 4445}#
+                         (#{expand 4443}#
+                           (car #{e 26049}#)
+                           #{r 26050}#
+                           #{w 26051}#
+                           #{mod 26053}#)
+                         #{e 26049}#
+                         #{r 26050}#
+                         #{w 26051}#
+                         #{s 26052}#
+                         #{mod 26053}#)
+                       (if (eqv? #{type 26047}# 'begin-form)
+                         (let ((#{tmp 27286}#
                                  ($sc-dispatch
-                                   #{e 25795}#
+                                   #{e 26049}#
                                    '(_ any . each-any))))
-                           (if #{tmp 27032}#
+                           (if #{tmp 27286}#
                              (@apply
-                               (lambda (#{e1 27036}# #{e2 27037}#)
-                                 (#{chi-sequence 4441}#
-                                   (cons #{e1 27036}# #{e2 27037}#)
-                                   #{r 25796}#
-                                   #{w 25797}#
-                                   #{s 25798}#
-                                   #{mod 25799}#))
-                               #{tmp 27032}#)
+                               (lambda (#{e1 27290}# #{e2 27291}#)
+                                 (#{expand-sequence 4438}#
+                                   (cons #{e1 27290}# #{e2 27291}#)
+                                   #{r 26050}#
+                                   #{w 26051}#
+                                   #{s 26052}#
+                                   #{mod 26053}#))
+                               #{tmp 27286}#)
                              (syntax-violation
                                #f
                                "source expression failed to match any pattern"
-                               #{e 25795}#)))
-                         (if (eqv? #{type 25793}# 'local-syntax-form)
-                           (#{chi-local-syntax 4451}#
-                             #{value 25794}#
-                             #{e 25795}#
-                             #{r 25796}#
-                             #{w 25797}#
-                             #{s 25798}#
-                             #{mod 25799}#
-                             #{chi-sequence 4441}#)
-                           (if (eqv? #{type 25793}# 'eval-when-form)
-                             (let ((#{tmp 27217}#
+                               #{e 26049}#)))
+                         (if (eqv? #{type 26047}# 'local-syntax-form)
+                           (#{expand-local-syntax 4448}#
+                             #{value 26048}#
+                             #{e 26049}#
+                             #{r 26050}#
+                             #{w 26051}#
+                             #{s 26052}#
+                             #{mod 26053}#
+                             #{expand-sequence 4438}#)
+                           (if (eqv? #{type 26047}# 'eval-when-form)
+                             (let ((#{tmp 27471}#
                                      ($sc-dispatch
-                                       #{e 25795}#
+                                       #{e 26049}#
                                        '(_ each-any any . each-any))))
-                               (if #{tmp 27217}#
+                               (if #{tmp 27471}#
                                  (@apply
-                                   (lambda (#{x 27221}#
-                                            #{e1 27222}#
-                                            #{e2 27223}#)
-                                     (let ((#{when-list 27224}#
-                                             (#{chi-when-list 4444}#
-                                               #{e 25795}#
-                                               #{x 27221}#
-                                               #{w 25797}#)))
-                                       (if (memq 'eval #{when-list 27224}#)
-                                         (#{chi-sequence 4441}#
-                                           (cons #{e1 27222}# #{e2 27223}#)
-                                           #{r 25796}#
-                                           #{w 25797}#
-                                           #{s 25798}#
-                                           #{mod 25799}#)
+                                   (lambda (#{x 27475}#
+                                            #{e1 27476}#
+                                            #{e2 27477}#)
+                                     (let ((#{when-list 27478}#
+                                             (#{parse-when-list 4441}#
+                                               #{e 26049}#
+                                               #{x 27475}#)))
+                                       (if (memq 'eval #{when-list 27478}#)
+                                         (#{expand-sequence 4438}#
+                                           (cons #{e1 27476}# #{e2 27477}#)
+                                           #{r 26050}#
+                                           #{w 26051}#
+                                           #{s 26052}#
+                                           #{mod 26053}#)
                                          (make-struct/no-tail
                                            (vector-ref %expanded-vtables 0)
                                            #f))))
-                                   #{tmp 27217}#)
+                                   #{tmp 27471}#)
                                  (syntax-violation
                                    #f
                                    "source expression failed to match any 
pattern"
-                                   #{e 25795}#)))
-                             (if (if (eqv? #{type 25793}# 'define-form)
+                                   #{e 26049}#)))
+                             (if (if (eqv? #{type 26047}# 'define-form)
                                    #t
-                                   (if (eqv? #{type 25793}#
+                                   (if (eqv? #{type 26047}#
                                              'define-syntax-form)
                                      #t
-                                     (eqv? #{type 25793}#
+                                     (eqv? #{type 26047}#
                                            'define-syntax-parameter-form)))
                                (syntax-violation
                                  #f
                                  "definition in expression context"
-                                 #{e 25795}#
-                                 (if (if (null? (car #{w 25797}#))
-                                       (null? (cdr #{w 25797}#))
+                                 #{e 26049}#
+                                 (if (if (null? (car #{w 26051}#))
+                                       (null? (cdr #{w 26051}#))
                                        #f)
-                                   #{value 25794}#
-                                   (if (if (vector? #{value 25794}#)
-                                         (if (= (vector-length #{value 25794}#)
+                                   #{value 26048}#
+                                   (if (if (vector? #{value 26048}#)
+                                         (if (= (vector-length #{value 26048}#)
                                                 4)
-                                           (eq? (vector-ref #{value 25794}# 0)
+                                           (eq? (vector-ref #{value 26048}# 0)
                                                 'syntax-object)
                                            #f)
                                          #f)
-                                     (let ((#{expression 27378}#
-                                             (vector-ref #{value 25794}# 1))
-                                           (#{wrap 27379}#
-                                             (let ((#{w2 27389}#
+                                     (let ((#{expression 27688}#
+                                             (vector-ref #{value 26048}# 1))
+                                           (#{wrap 27689}#
+                                             (let ((#{w2 27699}#
                                                      (vector-ref
-                                                       #{value 25794}#
+                                                       #{value 26048}#
                                                        2)))
-                                               (let ((#{m1 27390}#
-                                                       (car #{w 25797}#))
-                                                     (#{s1 27391}#
-                                                       (cdr #{w 25797}#)))
-                                                 (if (null? #{m1 27390}#)
-                                                   (if (null? #{s1 27391}#)
-                                                     #{w2 27389}#
-                                                     (cons (car #{w2 27389}#)
-                                                           (let ((#{m2 27408}#
-                                                                   (cdr #{w2 
27389}#)))
-                                                             (if (null? #{m2 
27408}#)
-                                                               #{s1 27391}#
+                                               (let ((#{m1 27700}#
+                                                       (car #{w 26051}#))
+                                                     (#{s1 27701}#
+                                                       (cdr #{w 26051}#)))
+                                                 (if (null? #{m1 27700}#)
+                                                   (if (null? #{s1 27701}#)
+                                                     #{w2 27699}#
+                                                     (cons (car #{w2 27699}#)
+                                                           (let ((#{m2 27718}#
+                                                                   (cdr #{w2 
27699}#)))
+                                                             (if (null? #{m2 
27718}#)
+                                                               #{s1 27701}#
                                                                (append
-                                                                 #{s1 27391}#
-                                                                 #{m2 
27408}#)))))
-                                                   (cons (let ((#{m2 27416}#
-                                                                 (car #{w2 
27389}#)))
-                                                           (if (null? #{m2 
27416}#)
-                                                             #{m1 27390}#
+                                                                 #{s1 27701}#
+                                                                 #{m2 
27718}#)))))
+                                                   (cons (let ((#{m2 27726}#
+                                                                 (car #{w2 
27699}#)))
+                                                           (if (null? #{m2 
27726}#)
+                                                             #{m1 27700}#
                                                              (append
-                                                               #{m1 27390}#
-                                                               #{m2 27416}#)))
-                                                         (let ((#{m2 27424}#
-                                                                 (cdr #{w2 
27389}#)))
-                                                           (if (null? #{m2 
27424}#)
-                                                             #{s1 27391}#
+                                                               #{m1 27700}#
+                                                               #{m2 27726}#)))
+                                                         (let ((#{m2 27734}#
+                                                                 (cdr #{w2 
27699}#)))
+                                                           (if (null? #{m2 
27734}#)
+                                                             #{s1 27701}#
                                                              (append
-                                                               #{s1 27391}#
-                                                               #{m2 
27424}#))))))))
-                                           (#{module 27380}#
-                                             (vector-ref #{value 25794}# 3)))
+                                                               #{s1 27701}#
+                                                               #{m2 
27734}#))))))))
+                                           (#{module 27690}#
+                                             (vector-ref #{value 26048}# 3)))
                                        (vector
                                          'syntax-object
-                                         #{expression 27378}#
-                                         #{wrap 27379}#
-                                         #{module 27380}#))
-                                     (if (null? #{value 25794}#)
-                                       #{value 25794}#
+                                         #{expression 27688}#
+                                         #{wrap 27689}#
+                                         #{module 27690}#))
+                                     (if (null? #{value 26048}#)
+                                       #{value 26048}#
                                        (vector
                                          'syntax-object
-                                         #{value 25794}#
-                                         #{w 25797}#
-                                         #{mod 25799}#)))))
-                               (if (eqv? #{type 25793}# 'syntax)
+                                         #{value 26048}#
+                                         #{w 26051}#
+                                         #{mod 26053}#)))))
+                               (if (eqv? #{type 26047}# 'syntax)
                                  (syntax-violation
                                    #f
                                    "reference to pattern variable outside 
syntax form"
-                                   (let ((#{x 27459}#
+                                   (let ((#{x 27769}#
                                            (begin
-                                             (if (if (pair? #{e 25795}#)
-                                                   #{s 25798}#
+                                             (if (if (pair? #{e 26049}#)
+                                                   #{s 26052}#
                                                    #f)
                                                (set-source-properties!
-                                                 #{e 25795}#
-                                                 #{s 25798}#))
-                                             #{e 25795}#)))
-                                     (if (if (null? (car #{w 25797}#))
-                                           (null? (cdr #{w 25797}#))
+                                                 #{e 26049}#
+                                                 #{s 26052}#))
+                                             #{e 26049}#)))
+                                     (if (if (null? (car #{w 26051}#))
+                                           (null? (cdr #{w 26051}#))
                                            #f)
-                                       #{x 27459}#
-                                       (if (if (vector? #{x 27459}#)
-                                             (if (= (vector-length #{x 27459}#)
+                                       #{x 27769}#
+                                       (if (if (vector? #{x 27769}#)
+                                             (if (= (vector-length #{x 27769}#)
                                                     4)
-                                               (eq? (vector-ref #{x 27459}# 0)
+                                               (eq? (vector-ref #{x 27769}# 0)
                                                     'syntax-object)
                                                #f)
                                              #f)
-                                         (let ((#{expression 27491}#
-                                                 (vector-ref #{x 27459}# 1))
-                                               (#{wrap 27492}#
-                                                 (let ((#{w2 27500}#
+                                         (let ((#{expression 27801}#
+                                                 (vector-ref #{x 27769}# 1))
+                                               (#{wrap 27802}#
+                                                 (let ((#{w2 27810}#
                                                          (vector-ref
-                                                           #{x 27459}#
+                                                           #{x 27769}#
                                                            2)))
-                                                   (let ((#{m1 27501}#
-                                                           (car #{w 25797}#))
-                                                         (#{s1 27502}#
-                                                           (cdr #{w 25797}#)))
-                                                     (if (null? #{m1 27501}#)
-                                                       (if (null? #{s1 27502}#)
-                                                         #{w2 27500}#
-                                                         (cons (car #{w2 
27500}#)
-                                                               (let ((#{m2 
27517}#
-                                                                       (cdr 
#{w2 27500}#)))
-                                                                 (if (null? 
#{m2 27517}#)
-                                                                   #{s1 27502}#
+                                                   (let ((#{m1 27811}#
+                                                           (car #{w 26051}#))
+                                                         (#{s1 27812}#
+                                                           (cdr #{w 26051}#)))
+                                                     (if (null? #{m1 27811}#)
+                                                       (if (null? #{s1 27812}#)
+                                                         #{w2 27810}#
+                                                         (cons (car #{w2 
27810}#)
+                                                               (let ((#{m2 
27827}#
+                                                                       (cdr 
#{w2 27810}#)))
+                                                                 (if (null? 
#{m2 27827}#)
+                                                                   #{s1 27812}#
                                                                    (append
-                                                                     #{s1 
27502}#
-                                                                     #{m2 
27517}#)))))
-                                                       (cons (let ((#{m2 
27525}#
-                                                                     (car #{w2 
27500}#)))
-                                                               (if (null? #{m2 
27525}#)
-                                                                 #{m1 27501}#
+                                                                     #{s1 
27812}#
+                                                                     #{m2 
27827}#)))))
+                                                       (cons (let ((#{m2 
27835}#
+                                                                     (car #{w2 
27810}#)))
+                                                               (if (null? #{m2 
27835}#)
+                                                                 #{m1 27811}#
                                                                  (append
-                                                                   #{m1 27501}#
-                                                                   #{m2 
27525}#)))
-                                                             (let ((#{m2 
27533}#
-                                                                     (cdr #{w2 
27500}#)))
-                                                               (if (null? #{m2 
27533}#)
-                                                                 #{s1 27502}#
+                                                                   #{m1 27811}#
+                                                                   #{m2 
27835}#)))
+                                                             (let ((#{m2 
27843}#
+                                                                     (cdr #{w2 
27810}#)))
+                                                               (if (null? #{m2 
27843}#)
+                                                                 #{s1 27812}#
                                                                  (append
-                                                                   #{s1 27502}#
-                                                                   #{m2 
27533}#))))))))
-                                               (#{module 27493}#
-                                                 (vector-ref #{x 27459}# 3)))
+                                                                   #{s1 27812}#
+                                                                   #{m2 
27843}#))))))))
+                                               (#{module 27803}#
+                                                 (vector-ref #{x 27769}# 3)))
                                            (vector
                                              'syntax-object
-                                             #{expression 27491}#
-                                             #{wrap 27492}#
-                                             #{module 27493}#))
-                                         (if (null? #{x 27459}#)
-                                           #{x 27459}#
+                                             #{expression 27801}#
+                                             #{wrap 27802}#
+                                             #{module 27803}#))
+                                         (if (null? #{x 27769}#)
+                                           #{x 27769}#
                                            (vector
                                              'syntax-object
-                                             #{x 27459}#
-                                             #{w 25797}#
-                                             #{mod 25799}#))))))
-                                 (if (eqv? #{type 25793}# 'displaced-lexical)
+                                             #{x 27769}#
+                                             #{w 26051}#
+                                             #{mod 26053}#))))))
+                                 (if (eqv? #{type 26047}# 'displaced-lexical)
                                    (syntax-violation
                                      #f
                                      "reference to identifier outside its 
scope"
-                                     (let ((#{x 27560}#
+                                     (let ((#{x 27870}#
                                              (begin
-                                               (if (if (pair? #{e 25795}#)
-                                                     #{s 25798}#
+                                               (if (if (pair? #{e 26049}#)
+                                                     #{s 26052}#
                                                      #f)
                                                  (set-source-properties!
-                                                   #{e 25795}#
-                                                   #{s 25798}#))
-                                               #{e 25795}#)))
-                                       (if (if (null? (car #{w 25797}#))
-                                             (null? (cdr #{w 25797}#))
+                                                   #{e 26049}#
+                                                   #{s 26052}#))
+                                               #{e 26049}#)))
+                                       (if (if (null? (car #{w 26051}#))
+                                             (null? (cdr #{w 26051}#))
                                              #f)
-                                         #{x 27560}#
-                                         (if (if (vector? #{x 27560}#)
+                                         #{x 27870}#
+                                         (if (if (vector? #{x 27870}#)
                                                (if (= (vector-length
-                                                        #{x 27560}#)
+                                                        #{x 27870}#)
                                                       4)
                                                  (eq? (vector-ref
-                                                        #{x 27560}#
+                                                        #{x 27870}#
                                                         0)
                                                       'syntax-object)
                                                  #f)
                                                #f)
-                                           (let ((#{expression 27592}#
-                                                   (vector-ref #{x 27560}# 1))
-                                                 (#{wrap 27593}#
-                                                   (let ((#{w2 27601}#
+                                           (let ((#{expression 27902}#
+                                                   (vector-ref #{x 27870}# 1))
+                                                 (#{wrap 27903}#
+                                                   (let ((#{w2 27911}#
                                                            (vector-ref
-                                                             #{x 27560}#
+                                                             #{x 27870}#
                                                              2)))
-                                                     (let ((#{m1 27602}#
-                                                             (car #{w 25797}#))
-                                                           (#{s1 27603}#
-                                                             (cdr #{w 
25797}#)))
-                                                       (if (null? #{m1 27602}#)
-                                                         (if (null? #{s1 
27603}#)
-                                                           #{w2 27601}#
-                                                           (cons (car #{w2 
27601}#)
-                                                                 (let ((#{m2 
27618}#
-                                                                         (cdr 
#{w2 27601}#)))
-                                                                   (if (null? 
#{m2 27618}#)
-                                                                     #{s1 
27603}#
+                                                     (let ((#{m1 27912}#
+                                                             (car #{w 26051}#))
+                                                           (#{s1 27913}#
+                                                             (cdr #{w 
26051}#)))
+                                                       (if (null? #{m1 27912}#)
+                                                         (if (null? #{s1 
27913}#)
+                                                           #{w2 27911}#
+                                                           (cons (car #{w2 
27911}#)
+                                                                 (let ((#{m2 
27928}#
+                                                                         (cdr 
#{w2 27911}#)))
+                                                                   (if (null? 
#{m2 27928}#)
+                                                                     #{s1 
27913}#
                                                                      (append
-                                                                       #{s1 
27603}#
-                                                                       #{m2 
27618}#)))))
-                                                         (cons (let ((#{m2 
27626}#
-                                                                       (car 
#{w2 27601}#)))
-                                                                 (if (null? 
#{m2 27626}#)
-                                                                   #{m1 27602}#
+                                                                       #{s1 
27913}#
+                                                                       #{m2 
27928}#)))))
+                                                         (cons (let ((#{m2 
27936}#
+                                                                       (car 
#{w2 27911}#)))
+                                                                 (if (null? 
#{m2 27936}#)
+                                                                   #{m1 27912}#
                                                                    (append
-                                                                     #{m1 
27602}#
-                                                                     #{m2 
27626}#)))
-                                                               (let ((#{m2 
27634}#
-                                                                       (cdr 
#{w2 27601}#)))
-                                                                 (if (null? 
#{m2 27634}#)
-                                                                   #{s1 27603}#
+                                                                     #{m1 
27912}#
+                                                                     #{m2 
27936}#)))
+                                                               (let ((#{m2 
27944}#
+                                                                       (cdr 
#{w2 27911}#)))
+                                                                 (if (null? 
#{m2 27944}#)
+                                                                   #{s1 27913}#
                                                                    (append
-                                                                     #{s1 
27603}#
-                                                                     #{m2 
27634}#))))))))
-                                                 (#{module 27594}#
-                                                   (vector-ref #{x 27560}# 3)))
+                                                                     #{s1 
27913}#
+                                                                     #{m2 
27944}#))))))))
+                                                 (#{module 27904}#
+                                                   (vector-ref #{x 27870}# 3)))
                                              (vector
                                                'syntax-object
-                                               #{expression 27592}#
-                                               #{wrap 27593}#
-                                               #{module 27594}#))
-                                           (if (null? #{x 27560}#)
-                                             #{x 27560}#
+                                               #{expression 27902}#
+                                               #{wrap 27903}#
+                                               #{module 27904}#))
+                                           (if (null? #{x 27870}#)
+                                             #{x 27870}#
                                              (vector
                                                'syntax-object
-                                               #{x 27560}#
-                                               #{w 25797}#
-                                               #{mod 25799}#))))))
+                                               #{x 27870}#
+                                               #{w 26051}#
+                                               #{mod 26053}#))))))
                                    (syntax-violation
                                      #f
                                      "unexpected syntax"
-                                     (let ((#{x 27658}#
+                                     (let ((#{x 27968}#
                                              (begin
-                                               (if (if (pair? #{e 25795}#)
-                                                     #{s 25798}#
+                                               (if (if (pair? #{e 26049}#)
+                                                     #{s 26052}#
                                                      #f)
                                                  (set-source-properties!
-                                                   #{e 25795}#
-                                                   #{s 25798}#))
-                                               #{e 25795}#)))
-                                       (if (if (null? (car #{w 25797}#))
-                                             (null? (cdr #{w 25797}#))
+                                                   #{e 26049}#
+                                                   #{s 26052}#))
+                                               #{e 26049}#)))
+                                       (if (if (null? (car #{w 26051}#))
+                                             (null? (cdr #{w 26051}#))
                                              #f)
-                                         #{x 27658}#
-                                         (if (if (vector? #{x 27658}#)
+                                         #{x 27968}#
+                                         (if (if (vector? #{x 27968}#)
                                                (if (= (vector-length
-                                                        #{x 27658}#)
+                                                        #{x 27968}#)
                                                       4)
                                                  (eq? (vector-ref
-                                                        #{x 27658}#
+                                                        #{x 27968}#
                                                         0)
                                                       'syntax-object)
                                                  #f)
                                                #f)
-                                           (let ((#{expression 27690}#
-                                                   (vector-ref #{x 27658}# 1))
-                                                 (#{wrap 27691}#
-                                                   (let ((#{w2 27699}#
+                                           (let ((#{expression 28000}#
+                                                   (vector-ref #{x 27968}# 1))
+                                                 (#{wrap 28001}#
+                                                   (let ((#{w2 28009}#
                                                            (vector-ref
-                                                             #{x 27658}#
+                                                             #{x 27968}#
                                                              2)))
-                                                     (let ((#{m1 27700}#
-                                                             (car #{w 25797}#))
-                                                           (#{s1 27701}#
-                                                             (cdr #{w 
25797}#)))
-                                                       (if (null? #{m1 27700}#)
-                                                         (if (null? #{s1 
27701}#)
-                                                           #{w2 27699}#
-                                                           (cons (car #{w2 
27699}#)
-                                                                 (let ((#{m2 
27716}#
-                                                                         (cdr 
#{w2 27699}#)))
-                                                                   (if (null? 
#{m2 27716}#)
-                                                                     #{s1 
27701}#
+                                                     (let ((#{m1 28010}#
+                                                             (car #{w 26051}#))
+                                                           (#{s1 28011}#
+                                                             (cdr #{w 
26051}#)))
+                                                       (if (null? #{m1 28010}#)
+                                                         (if (null? #{s1 
28011}#)
+                                                           #{w2 28009}#
+                                                           (cons (car #{w2 
28009}#)
+                                                                 (let ((#{m2 
28026}#
+                                                                         (cdr 
#{w2 28009}#)))
+                                                                   (if (null? 
#{m2 28026}#)
+                                                                     #{s1 
28011}#
                                                                      (append
-                                                                       #{s1 
27701}#
-                                                                       #{m2 
27716}#)))))
-                                                         (cons (let ((#{m2 
27724}#
-                                                                       (car 
#{w2 27699}#)))
-                                                                 (if (null? 
#{m2 27724}#)
-                                                                   #{m1 27700}#
+                                                                       #{s1 
28011}#
+                                                                       #{m2 
28026}#)))))
+                                                         (cons (let ((#{m2 
28034}#
+                                                                       (car 
#{w2 28009}#)))
+                                                                 (if (null? 
#{m2 28034}#)
+                                                                   #{m1 28010}#
                                                                    (append
-                                                                     #{m1 
27700}#
-                                                                     #{m2 
27724}#)))
-                                                               (let ((#{m2 
27732}#
-                                                                       (cdr 
#{w2 27699}#)))
-                                                                 (if (null? 
#{m2 27732}#)
-                                                                   #{s1 27701}#
+                                                                     #{m1 
28010}#
+                                                                     #{m2 
28034}#)))
+                                                               (let ((#{m2 
28042}#
+                                                                       (cdr 
#{w2 28009}#)))
+                                                                 (if (null? 
#{m2 28042}#)
+                                                                   #{s1 28011}#
                                                                    (append
-                                                                     #{s1 
27701}#
-                                                                     #{m2 
27732}#))))))))
-                                                 (#{module 27692}#
-                                                   (vector-ref #{x 27658}# 3)))
+                                                                     #{s1 
28011}#
+                                                                     #{m2 
28042}#))))))))
+                                                 (#{module 28002}#
+                                                   (vector-ref #{x 27968}# 3)))
                                              (vector
                                                'syntax-object
-                                               #{expression 27690}#
-                                               #{wrap 27691}#
-                                               #{module 27692}#))
-                                           (if (null? #{x 27658}#)
-                                             #{x 27658}#
+                                               #{expression 28000}#
+                                               #{wrap 28001}#
+                                               #{module 28002}#))
+                                           (if (null? #{x 27968}#)
+                                             #{x 27968}#
                                              (vector
                                                'syntax-object
-                                               #{x 27658}#
-                                               #{w 25797}#
-                                               #{mod 
25799}#))))))))))))))))))))))
-   (#{chi-call 4448}#
-     (lambda (#{x 27747}#
-              #{e 27748}#
-              #{r 27749}#
-              #{w 27750}#
-              #{s 27751}#
-              #{mod 27752}#)
-       (let ((#{tmp 27754}#
-               ($sc-dispatch #{e 27748}# '(any . each-any))))
-         (if #{tmp 27754}#
+                                               #{x 27968}#
+                                               #{w 26051}#
+                                               #{mod 
26053}#))))))))))))))))))))))
+   (#{expand-call 4445}#
+     (lambda (#{x 28057}#
+              #{e 28058}#
+              #{r 28059}#
+              #{w 28060}#
+              #{s 28061}#
+              #{mod 28062}#)
+       (let ((#{tmp 28064}#
+               ($sc-dispatch #{e 28058}# '(any . each-any))))
+         (if #{tmp 28064}#
            (@apply
-             (lambda (#{e0 27758}# #{e1 27759}#)
-               (#{build-call 4380}#
-                 #{s 27751}#
-                 #{x 27747}#
-                 (map (lambda (#{e 27851}#)
-                        (#{chi 4446}#
-                          #{e 27851}#
-                          #{r 27749}#
-                          #{w 27750}#
-                          #{mod 27752}#))
-                      #{e1 27759}#)))
-             #{tmp 27754}#)
+             (lambda (#{e0 28068}# #{e1 28069}#)
+               (#{build-call 4377}#
+                 #{s 28061}#
+                 #{x 28057}#
+                 (map (lambda (#{e 28161}#)
+                        (#{expand 4443}#
+                          #{e 28161}#
+                          #{r 28059}#
+                          #{w 28060}#
+                          #{mod 28062}#))
+                      #{e1 28069}#)))
+             #{tmp 28064}#)
            (syntax-violation
              #f
              "source expression failed to match any pattern"
-             #{e 27748}#)))))
-   (#{chi-macro 4449}#
-     (lambda (#{p 27939}#
-              #{e 27940}#
-              #{r 27941}#
-              #{w 27942}#
-              #{s 27943}#
-              #{rib 27944}#
-              #{mod 27945}#)
+             #{e 28058}#)))))
+   (#{expand-macro 4446}#
+     (lambda (#{p 28249}#
+              #{e 28250}#
+              #{r 28251}#
+              #{w 28252}#
+              #{s 28253}#
+              #{rib 28254}#
+              #{mod 28255}#)
        (letrec*
-         ((#{rebuild-macro-output 27946}#
-            (lambda (#{x 28053}# #{m 28054}#)
-              (if (pair? #{x 28053}#)
-                (let ((#{e 28058}#
-                        (cons (#{rebuild-macro-output 27946}#
-                                (car #{x 28053}#)
-                                #{m 28054}#)
-                              (#{rebuild-macro-output 27946}#
-                                (cdr #{x 28053}#)
-                                #{m 28054}#))))
+         ((#{rebuild-macro-output 28256}#
+            (lambda (#{x 28363}# #{m 28364}#)
+              (if (pair? #{x 28363}#)
+                (let ((#{e 28368}#
+                        (cons (#{rebuild-macro-output 28256}#
+                                (car #{x 28363}#)
+                                #{m 28364}#)
+                              (#{rebuild-macro-output 28256}#
+                                (cdr #{x 28363}#)
+                                #{m 28364}#))))
                   (begin
-                    (if (if (pair? #{e 28058}#) #{s 27943}# #f)
-                      (set-source-properties! #{e 28058}# #{s 27943}#))
-                    #{e 28058}#))
-                (if (if (vector? #{x 28053}#)
-                      (if (= (vector-length #{x 28053}#) 4)
-                        (eq? (vector-ref #{x 28053}# 0) 'syntax-object)
+                    (if (if (pair? #{e 28368}#) #{s 28253}# #f)
+                      (set-source-properties! #{e 28368}# #{s 28253}#))
+                    #{e 28368}#))
+                (if (if (vector? #{x 28363}#)
+                      (if (= (vector-length #{x 28363}#) 4)
+                        (eq? (vector-ref #{x 28363}# 0) 'syntax-object)
                         #f)
                       #f)
-                  (let ((#{w 28074}# (vector-ref #{x 28053}# 2)))
-                    (let ((#{ms 28075}# (car #{w 28074}#))
-                          (#{s 28076}# (cdr #{w 28074}#)))
-                      (if (if (pair? #{ms 28075}#)
-                            (eq? (car #{ms 28075}#) #f)
+                  (let ((#{w 28384}# (vector-ref #{x 28363}# 2)))
+                    (let ((#{ms 28385}# (car #{w 28384}#))
+                          (#{s 28386}# (cdr #{w 28384}#)))
+                      (if (if (pair? #{ms 28385}#)
+                            (eq? (car #{ms 28385}#) #f)
                             #f)
-                        (let ((#{expression 28084}# (vector-ref #{x 28053}# 1))
-                              (#{wrap 28085}#
-                                (cons (cdr #{ms 28075}#)
-                                      (if #{rib 27944}#
-                                        (cons #{rib 27944}# (cdr #{s 28076}#))
-                                        (cdr #{s 28076}#))))
-                              (#{module 28086}# (vector-ref #{x 28053}# 3)))
+                        (let ((#{expression 28394}# (vector-ref #{x 28363}# 1))
+                              (#{wrap 28395}#
+                                (cons (cdr #{ms 28385}#)
+                                      (if #{rib 28254}#
+                                        (cons #{rib 28254}# (cdr #{s 28386}#))
+                                        (cdr #{s 28386}#))))
+                              (#{module 28396}# (vector-ref #{x 28363}# 3)))
                           (vector
                             'syntax-object
-                            #{expression 28084}#
-                            #{wrap 28085}#
-                            #{module 28086}#))
-                        (let ((#{expression 28096}#
-                                (let ((#{e 28101}# (vector-ref #{x 28053}# 1)))
+                            #{expression 28394}#
+                            #{wrap 28395}#
+                            #{module 28396}#))
+                        (let ((#{expression 28406}#
+                                (let ((#{e 28411}# (vector-ref #{x 28363}# 1)))
                                   (begin
-                                    (if (if (pair? #{e 28101}#) #{s 28076}# #f)
+                                    (if (if (pair? #{e 28411}#) #{s 28386}# #f)
                                       (set-source-properties!
-                                        #{e 28101}#
-                                        #{s 28076}#))
-                                    #{e 28101}#)))
-                              (#{wrap 28097}#
-                                (cons (cons #{m 28054}# #{ms 28075}#)
-                                      (if #{rib 27944}#
-                                        (cons #{rib 27944}#
-                                              (cons 'shift #{s 28076}#))
-                                        (cons 'shift #{s 28076}#))))
-                              (#{module 28098}# (vector-ref #{x 28053}# 3)))
+                                        #{e 28411}#
+                                        #{s 28386}#))
+                                    #{e 28411}#)))
+                              (#{wrap 28407}#
+                                (cons (cons #{m 28364}# #{ms 28385}#)
+                                      (if #{rib 28254}#
+                                        (cons #{rib 28254}#
+                                              (cons 'shift #{s 28386}#))
+                                        (cons 'shift #{s 28386}#))))
+                              (#{module 28408}# (vector-ref #{x 28363}# 3)))
                           (vector
                             'syntax-object
-                            #{expression 28096}#
-                            #{wrap 28097}#
-                            #{module 28098}#)))))
-                  (if (vector? #{x 28053}#)
-                    (let ((#{n 28113}# (vector-length #{x 28053}#)))
-                      (let ((#{v 28114}#
-                              (let ((#{e 28122}# (make-vector #{n 28113}#)))
+                            #{expression 28406}#
+                            #{wrap 28407}#
+                            #{module 28408}#)))))
+                  (if (vector? #{x 28363}#)
+                    (let ((#{n 28423}# (vector-length #{x 28363}#)))
+                      (let ((#{v 28424}#
+                              (let ((#{e 28432}# (make-vector #{n 28423}#)))
                                 (begin
-                                  (if (if (pair? #{e 28122}#) #{x 28053}# #f)
+                                  (if (if (pair? #{e 28432}#) #{x 28363}# #f)
                                     (set-source-properties!
-                                      #{e 28122}#
-                                      #{x 28053}#))
-                                  #{e 28122}#))))
+                                      #{e 28432}#
+                                      #{x 28363}#))
+                                  #{e 28432}#))))
                         (letrec*
-                          ((#{loop 28115}#
-                             (lambda (#{i 28176}#)
-                               (if (= #{i 28176}# #{n 28113}#)
-                                 #{v 28114}#
+                          ((#{loop 28425}#
+                             (lambda (#{i 28486}#)
+                               (if (= #{i 28486}# #{n 28423}#)
+                                 #{v 28424}#
                                  (begin
                                    (vector-set!
-                                     #{v 28114}#
-                                     #{i 28176}#
-                                     (#{rebuild-macro-output 27946}#
-                                       (vector-ref #{x 28053}# #{i 28176}#)
-                                       #{m 28054}#))
-                                   (#{loop 28115}# (#{1+}# #{i 28176}#)))))))
-                          (#{loop 28115}# 0))))
-                    (if (symbol? #{x 28053}#)
+                                     #{v 28424}#
+                                     #{i 28486}#
+                                     (#{rebuild-macro-output 28256}#
+                                       (vector-ref #{x 28363}# #{i 28486}#)
+                                       #{m 28364}#))
+                                   (#{loop 28425}# (#{1+}# #{i 28486}#)))))))
+                          (#{loop 28425}# 0))))
+                    (if (symbol? #{x 28363}#)
                       (syntax-violation
                         #f
                         "encountered raw symbol in macro output"
-                        (let ((#{s 28182}# (cdr #{w 27942}#)))
-                          (let ((#{x 28186}#
+                        (let ((#{s 28492}# (cdr #{w 28252}#)))
+                          (let ((#{x 28496}#
                                   (begin
-                                    (if (if (pair? #{e 27940}#) #{s 28182}# #f)
+                                    (if (if (pair? #{e 28250}#) #{s 28492}# #f)
                                       (set-source-properties!
-                                        #{e 27940}#
-                                        #{s 28182}#))
-                                    #{e 27940}#)))
-                            (if (if (null? (car #{w 27942}#))
-                                  (null? (cdr #{w 27942}#))
+                                        #{e 28250}#
+                                        #{s 28492}#))
+                                    #{e 28250}#)))
+                            (if (if (null? (car #{w 28252}#))
+                                  (null? (cdr #{w 28252}#))
                                   #f)
-                              #{x 28186}#
-                              (if (if (vector? #{x 28186}#)
-                                    (if (= (vector-length #{x 28186}#) 4)
-                                      (eq? (vector-ref #{x 28186}# 0)
+                              #{x 28496}#
+                              (if (if (vector? #{x 28496}#)
+                                    (if (= (vector-length #{x 28496}#) 4)
+                                      (eq? (vector-ref #{x 28496}# 0)
                                            'syntax-object)
                                       #f)
                                     #f)
-                                (let ((#{expression 28218}#
-                                        (vector-ref #{x 28186}# 1))
-                                      (#{wrap 28219}#
-                                        (let ((#{w2 28227}#
-                                                (vector-ref #{x 28186}# 2)))
-                                          (let ((#{m1 28228}#
-                                                  (car #{w 27942}#))
-                                                (#{s1 28229}#
-                                                  (cdr #{w 27942}#)))
-                                            (if (null? #{m1 28228}#)
-                                              (if (null? #{s1 28229}#)
-                                                #{w2 28227}#
-                                                (cons (car #{w2 28227}#)
-                                                      (let ((#{m2 28244}#
-                                                              (cdr #{w2 
28227}#)))
-                                                        (if (null? #{m2 
28244}#)
-                                                          #{s1 28229}#
+                                (let ((#{expression 28528}#
+                                        (vector-ref #{x 28496}# 1))
+                                      (#{wrap 28529}#
+                                        (let ((#{w2 28537}#
+                                                (vector-ref #{x 28496}# 2)))
+                                          (let ((#{m1 28538}#
+                                                  (car #{w 28252}#))
+                                                (#{s1 28539}#
+                                                  (cdr #{w 28252}#)))
+                                            (if (null? #{m1 28538}#)
+                                              (if (null? #{s1 28539}#)
+                                                #{w2 28537}#
+                                                (cons (car #{w2 28537}#)
+                                                      (let ((#{m2 28554}#
+                                                              (cdr #{w2 
28537}#)))
+                                                        (if (null? #{m2 
28554}#)
+                                                          #{s1 28539}#
                                                           (append
-                                                            #{s1 28229}#
-                                                            #{m2 28244}#)))))
-                                              (cons (let ((#{m2 28252}#
-                                                            (car #{w2 
28227}#)))
-                                                      (if (null? #{m2 28252}#)
-                                                        #{m1 28228}#
+                                                            #{s1 28539}#
+                                                            #{m2 28554}#)))))
+                                              (cons (let ((#{m2 28562}#
+                                                            (car #{w2 
28537}#)))
+                                                      (if (null? #{m2 28562}#)
+                                                        #{m1 28538}#
                                                         (append
-                                                          #{m1 28228}#
-                                                          #{m2 28252}#)))
-                                                    (let ((#{m2 28260}#
-                                                            (cdr #{w2 
28227}#)))
-                                                      (if (null? #{m2 28260}#)
-                                                        #{s1 28229}#
+                                                          #{m1 28538}#
+                                                          #{m2 28562}#)))
+                                                    (let ((#{m2 28570}#
+                                                            (cdr #{w2 
28537}#)))
+                                                      (if (null? #{m2 28570}#)
+                                                        #{s1 28539}#
                                                         (append
-                                                          #{s1 28229}#
-                                                          #{m2 28260}#))))))))
-                                      (#{module 28220}#
-                                        (vector-ref #{x 28186}# 3)))
+                                                          #{s1 28539}#
+                                                          #{m2 28570}#))))))))
+                                      (#{module 28530}#
+                                        (vector-ref #{x 28496}# 3)))
                                   (vector
                                     'syntax-object
-                                    #{expression 28218}#
-                                    #{wrap 28219}#
-                                    #{module 28220}#))
-                                (if (null? #{x 28186}#)
-                                  #{x 28186}#
+                                    #{expression 28528}#
+                                    #{wrap 28529}#
+                                    #{module 28530}#))
+                                (if (null? #{x 28496}#)
+                                  #{x 28496}#
                                   (vector
                                     'syntax-object
-                                    #{x 28186}#
-                                    #{w 27942}#
-                                    #{mod 27945}#))))))
-                        #{x 28053}#)
+                                    #{x 28496}#
+                                    #{w 28252}#
+                                    #{mod 28255}#))))))
+                        #{x 28363}#)
                       (begin
-                        (if (if (pair? #{x 28053}#) #{s 27943}# #f)
-                          (set-source-properties! #{x 28053}# #{s 27943}#))
-                        #{x 28053}#))))))))
-         (#{rebuild-macro-output 27946}#
-           (#{p 27939}#
-             (let ((#{w 27953}#
-                     (cons (cons #f (car #{w 27942}#))
-                           (cons 'shift (cdr #{w 27942}#)))))
-               (let ((#{x 27958}#
+                        (if (if (pair? #{x 28363}#) #{s 28253}# #f)
+                          (set-source-properties! #{x 28363}# #{s 28253}#))
+                        #{x 28363}#))))))))
+         (#{rebuild-macro-output 28256}#
+           (#{p 28249}#
+             (let ((#{w 28263}#
+                     (cons (cons #f (car #{w 28252}#))
+                           (cons 'shift (cdr #{w 28252}#)))))
+               (let ((#{x 28268}#
                        (begin
-                         (if (if (pair? #{e 27940}#) #{s 27943}# #f)
-                           (set-source-properties! #{e 27940}# #{s 27943}#))
-                         #{e 27940}#)))
-                 (if (if (null? (car #{w 27953}#))
-                       (null? (cdr #{w 27953}#))
+                         (if (if (pair? #{e 28250}#) #{s 28253}# #f)
+                           (set-source-properties! #{e 28250}# #{s 28253}#))
+                         #{e 28250}#)))
+                 (if (if (null? (car #{w 28263}#))
+                       (null? (cdr #{w 28263}#))
                        #f)
-                   #{x 27958}#
-                   (if (if (vector? #{x 27958}#)
-                         (if (= (vector-length #{x 27958}#) 4)
-                           (eq? (vector-ref #{x 27958}# 0) 'syntax-object)
+                   #{x 28268}#
+                   (if (if (vector? #{x 28268}#)
+                         (if (= (vector-length #{x 28268}#) 4)
+                           (eq? (vector-ref #{x 28268}# 0) 'syntax-object)
                            #f)
                          #f)
-                     (let ((#{expression 27996}# (vector-ref #{x 27958}# 1))
-                           (#{wrap 27997}#
-                             (let ((#{w2 28005}# (vector-ref #{x 27958}# 2)))
-                               (let ((#{m1 28006}# (car #{w 27953}#))
-                                     (#{s1 28007}# (cdr #{w 27953}#)))
-                                 (if (null? #{m1 28006}#)
-                                   (if (null? #{s1 28007}#)
-                                     #{w2 28005}#
-                                     (cons (car #{w2 28005}#)
-                                           (let ((#{m2 28022}#
-                                                   (cdr #{w2 28005}#)))
-                                             (if (null? #{m2 28022}#)
-                                               #{s1 28007}#
+                     (let ((#{expression 28306}# (vector-ref #{x 28268}# 1))
+                           (#{wrap 28307}#
+                             (let ((#{w2 28315}# (vector-ref #{x 28268}# 2)))
+                               (let ((#{m1 28316}# (car #{w 28263}#))
+                                     (#{s1 28317}# (cdr #{w 28263}#)))
+                                 (if (null? #{m1 28316}#)
+                                   (if (null? #{s1 28317}#)
+                                     #{w2 28315}#
+                                     (cons (car #{w2 28315}#)
+                                           (let ((#{m2 28332}#
+                                                   (cdr #{w2 28315}#)))
+                                             (if (null? #{m2 28332}#)
+                                               #{s1 28317}#
                                                (append
-                                                 #{s1 28007}#
-                                                 #{m2 28022}#)))))
-                                   (cons (let ((#{m2 28030}#
-                                                 (car #{w2 28005}#)))
-                                           (if (null? #{m2 28030}#)
-                                             #{m1 28006}#
+                                                 #{s1 28317}#
+                                                 #{m2 28332}#)))))
+                                   (cons (let ((#{m2 28340}#
+                                                 (car #{w2 28315}#)))
+                                           (if (null? #{m2 28340}#)
+                                             #{m1 28316}#
                                              (append
-                                               #{m1 28006}#
-                                               #{m2 28030}#)))
-                                         (let ((#{m2 28038}#
-                                                 (cdr #{w2 28005}#)))
-                                           (if (null? #{m2 28038}#)
-                                             #{s1 28007}#
+                                               #{m1 28316}#
+                                               #{m2 28340}#)))
+                                         (let ((#{m2 28348}#
+                                                 (cdr #{w2 28315}#)))
+                                           (if (null? #{m2 28348}#)
+                                             #{s1 28317}#
                                              (append
-                                               #{s1 28007}#
-                                               #{m2 28038}#))))))))
-                           (#{module 27998}# (vector-ref #{x 27958}# 3)))
+                                               #{s1 28317}#
+                                               #{m2 28348}#))))))))
+                           (#{module 28308}# (vector-ref #{x 28268}# 3)))
                        (vector
                          'syntax-object
-                         #{expression 27996}#
-                         #{wrap 27997}#
-                         #{module 27998}#))
-                     (if (null? #{x 27958}#)
-                       #{x 27958}#
+                         #{expression 28306}#
+                         #{wrap 28307}#
+                         #{module 28308}#))
+                     (if (null? #{x 28268}#)
+                       #{x 28268}#
                        (vector
                          'syntax-object
-                         #{x 27958}#
-                         #{w 27953}#
-                         #{mod 27945}#)))))))
+                         #{x 28268}#
+                         #{w 28263}#
+                         #{mod 28255}#)))))))
            (gensym "m")))))
-   (#{chi-body 4450}#
-     (lambda (#{body 28290}#
-              #{outer-form 28291}#
-              #{r 28292}#
-              #{w 28293}#
-              #{mod 28294}#)
-       (let ((#{r 28295}#
-               (cons '("placeholder" placeholder) #{r 28292}#)))
-         (let ((#{ribcage 28296}# (vector 'ribcage '() '() '())))
-           (let ((#{w 28297}#
-                   (cons (car #{w 28293}#)
-                         (cons #{ribcage 28296}# (cdr #{w 28293}#)))))
+   (#{expand-body 4447}#
+     (lambda (#{body 28600}#
+              #{outer-form 28601}#
+              #{r 28602}#
+              #{w 28603}#
+              #{mod 28604}#)
+       (let ((#{r 28605}#
+               (cons '("placeholder" placeholder) #{r 28602}#)))
+         (let ((#{ribcage 28606}# (vector 'ribcage '() '() '())))
+           (let ((#{w 28607}#
+                   (cons (car #{w 28603}#)
+                         (cons #{ribcage 28606}# (cdr #{w 28603}#)))))
              (letrec*
-               ((#{parse 28298}#
-                  (lambda (#{body 28406}#
-                           #{ids 28407}#
-                           #{labels 28408}#
-                           #{var-ids 28409}#
-                           #{vars 28410}#
-                           #{vals 28411}#
-                           #{bindings 28412}#)
-                    (if (null? #{body 28406}#)
+               ((#{parse 28608}#
+                  (lambda (#{body 28716}#
+                           #{ids 28717}#
+                           #{labels 28718}#
+                           #{var-ids 28719}#
+                           #{vars 28720}#
+                           #{vals 28721}#
+                           #{bindings 28722}#)
+                    (if (null? #{body 28716}#)
                       (syntax-violation
                         #f
                         "no expressions in body"
-                        #{outer-form 28291}#)
-                      (let ((#{e 28413}# (cdr (car #{body 28406}#)))
-                            (#{er 28414}# (car (car #{body 28406}#))))
+                        #{outer-form 28601}#)
+                      (let ((#{e 28723}# (cdr (car #{body 28716}#)))
+                            (#{er 28724}# (car (car #{body 28716}#))))
                         (call-with-values
                           (lambda ()
-                            (#{syntax-type 4445}#
-                              #{e 28413}#
-                              #{er 28414}#
+                            (#{syntax-type 4442}#
+                              #{e 28723}#
+                              #{er 28724}#
                               '(())
-                              (#{source-annotation 4407}# #{er 28414}#)
-                              #{ribcage 28296}#
-                              #{mod 28294}#
+                              (#{source-annotation 4404}# #{er 28724}#)
+                              #{ribcage 28606}#
+                              #{mod 28604}#
                               #f))
-                          (lambda (#{type 28620}#
-                                   #{value 28621}#
-                                   #{e 28622}#
-                                   #{w 28623}#
-                                   #{s 28624}#
-                                   #{mod 28625}#)
-                            (if (eqv? #{type 28620}# 'define-form)
-                              (let ((#{id 28629}#
-                                      (if (if (null? (car #{w 28623}#))
-                                            (null? (cdr #{w 28623}#))
+                          (lambda (#{type 28930}#
+                                   #{value 28931}#
+                                   #{e 28932}#
+                                   #{w 28933}#
+                                   #{s 28934}#
+                                   #{mod 28935}#)
+                            (if (eqv? #{type 28930}# 'define-form)
+                              (let ((#{id 28939}#
+                                      (if (if (null? (car #{w 28933}#))
+                                            (null? (cdr #{w 28933}#))
                                             #f)
-                                        #{value 28621}#
-                                        (if (if (vector? #{value 28621}#)
+                                        #{value 28931}#
+                                        (if (if (vector? #{value 28931}#)
                                               (if (= (vector-length
-                                                       #{value 28621}#)
+                                                       #{value 28931}#)
                                                      4)
                                                 (eq? (vector-ref
-                                                       #{value 28621}#
+                                                       #{value 28931}#
                                                        0)
                                                      'syntax-object)
                                                 #f)
                                               #f)
-                                          (let ((#{expression 28674}#
+                                          (let ((#{expression 28984}#
                                                   (vector-ref
-                                                    #{value 28621}#
+                                                    #{value 28931}#
                                                     1))
-                                                (#{wrap 28675}#
-                                                  (let ((#{w2 28685}#
+                                                (#{wrap 28985}#
+                                                  (let ((#{w2 28995}#
                                                           (vector-ref
-                                                            #{value 28621}#
+                                                            #{value 28931}#
                                                             2)))
-                                                    (let ((#{m1 28686}#
-                                                            (car #{w 28623}#))
-                                                          (#{s1 28687}#
-                                                            (cdr #{w 28623}#)))
-                                                      (if (null? #{m1 28686}#)
-                                                        (if (null? #{s1 
28687}#)
-                                                          #{w2 28685}#
-                                                          (cons (car #{w2 
28685}#)
-                                                                (let ((#{m2 
28704}#
-                                                                        (cdr 
#{w2 28685}#)))
-                                                                  (if (null? 
#{m2 28704}#)
-                                                                    #{s1 
28687}#
+                                                    (let ((#{m1 28996}#
+                                                            (car #{w 28933}#))
+                                                          (#{s1 28997}#
+                                                            (cdr #{w 28933}#)))
+                                                      (if (null? #{m1 28996}#)
+                                                        (if (null? #{s1 
28997}#)
+                                                          #{w2 28995}#
+                                                          (cons (car #{w2 
28995}#)
+                                                                (let ((#{m2 
29014}#
+                                                                        (cdr 
#{w2 28995}#)))
+                                                                  (if (null? 
#{m2 29014}#)
+                                                                    #{s1 
28997}#
                                                                     (append
-                                                                      #{s1 
28687}#
-                                                                      #{m2 
28704}#)))))
-                                                        (cons (let ((#{m2 
28712}#
-                                                                      (car 
#{w2 28685}#)))
-                                                                (if (null? 
#{m2 28712}#)
-                                                                  #{m1 28686}#
+                                                                      #{s1 
28997}#
+                                                                      #{m2 
29014}#)))))
+                                                        (cons (let ((#{m2 
29022}#
+                                                                      (car 
#{w2 28995}#)))
+                                                                (if (null? 
#{m2 29022}#)
+                                                                  #{m1 28996}#
                                                                   (append
-                                                                    #{m1 
28686}#
-                                                                    #{m2 
28712}#)))
-                                                              (let ((#{m2 
28720}#
-                                                                      (cdr 
#{w2 28685}#)))
-                                                                (if (null? 
#{m2 28720}#)
-                                                                  #{s1 28687}#
+                                                                    #{m1 
28996}#
+                                                                    #{m2 
29022}#)))
+                                                              (let ((#{m2 
29030}#
+                                                                      (cdr 
#{w2 28995}#)))
+                                                                (if (null? 
#{m2 29030}#)
+                                                                  #{s1 28997}#
                                                                   (append
-                                                                    #{s1 
28687}#
-                                                                    #{m2 
28720}#))))))))
-                                                (#{module 28676}#
+                                                                    #{s1 
28997}#
+                                                                    #{m2 
29030}#))))))))
+                                                (#{module 28986}#
                                                   (vector-ref
-                                                    #{value 28621}#
+                                                    #{value 28931}#
                                                     3)))
                                             (vector
                                               'syntax-object
-                                              #{expression 28674}#
-                                              #{wrap 28675}#
-                                              #{module 28676}#))
-                                          (if (null? #{value 28621}#)
-                                            #{value 28621}#
+                                              #{expression 28984}#
+                                              #{wrap 28985}#
+                                              #{module 28986}#))
+                                          (if (null? #{value 28931}#)
+                                            #{value 28931}#
                                             (vector
                                               'syntax-object
-                                              #{value 28621}#
-                                              #{w 28623}#
-                                              #{mod 28625}#)))))
-                                    (#{label 28630}#
+                                              #{value 28931}#
+                                              #{w 28933}#
+                                              #{mod 28935}#)))))
+                                    (#{label 28940}#
                                       (symbol->string (gensym "i"))))
-                                (let ((#{var 28631}#
-                                        (let ((#{id 28781}#
-                                                (if (if (vector? #{id 28629}#)
+                                (let ((#{var 28941}#
+                                        (let ((#{id 29091}#
+                                                (if (if (vector? #{id 28939}#)
                                                       (if (= (vector-length
-                                                               #{id 28629}#)
+                                                               #{id 28939}#)
                                                              4)
                                                         (eq? (vector-ref
-                                                               #{id 28629}#
+                                                               #{id 28939}#
                                                                0)
                                                              'syntax-object)
                                                         #f)
                                                       #f)
-                                                  (vector-ref #{id 28629}# 1)
-                                                  #{id 28629}#)))
+                                                  (vector-ref #{id 28939}# 1)
+                                                  #{id 28939}#)))
                                           (gensym
                                             (string-append
-                                              (symbol->string #{id 28781}#)
+                                              (symbol->string #{id 29091}#)
                                               " ")))))
                                   (begin
                                     (begin
-                                      (let ((#{update 28640}#
-                                              (cons (vector-ref #{id 28629}# 1)
+                                      (let ((#{update 28950}#
+                                              (cons (vector-ref #{id 28939}# 1)
                                                     (vector-ref
-                                                      #{ribcage 28296}#
+                                                      #{ribcage 28606}#
                                                       1))))
                                         (vector-set!
-                                          #{ribcage 28296}#
+                                          #{ribcage 28606}#
                                           1
-                                          #{update 28640}#))
-                                      (let ((#{update 28752}#
+                                          #{update 28950}#))
+                                      (let ((#{update 29062}#
                                               (cons (car (vector-ref
-                                                           #{id 28629}#
+                                                           #{id 28939}#
                                                            2))
                                                     (vector-ref
-                                                      #{ribcage 28296}#
+                                                      #{ribcage 28606}#
                                                       2))))
                                         (vector-set!
-                                          #{ribcage 28296}#
+                                          #{ribcage 28606}#
                                           2
-                                          #{update 28752}#))
-                                      (let ((#{update 28767}#
-                                              (cons #{label 28630}#
+                                          #{update 29062}#))
+                                      (let ((#{update 29077}#
+                                              (cons #{label 28940}#
                                                     (vector-ref
-                                                      #{ribcage 28296}#
+                                                      #{ribcage 28606}#
                                                       3))))
                                         (vector-set!
-                                          #{ribcage 28296}#
+                                          #{ribcage 28606}#
                                           3
-                                          #{update 28767}#)))
-                                    (#{parse 28298}#
-                                      (cdr #{body 28406}#)
-                                      (cons #{id 28629}# #{ids 28407}#)
-                                      (cons #{label 28630}# #{labels 28408}#)
-                                      (cons #{id 28629}# #{var-ids 28409}#)
-                                      (cons #{var 28631}# #{vars 28410}#)
-                                      (cons (cons #{er 28414}#
-                                                  (if (if (null? (car #{w 
28623}#))
-                                                        (null? (cdr #{w 
28623}#))
+                                          #{update 29077}#)))
+                                    (#{parse 28608}#
+                                      (cdr #{body 28716}#)
+                                      (cons #{id 28939}# #{ids 28717}#)
+                                      (cons #{label 28940}# #{labels 28718}#)
+                                      (cons #{id 28939}# #{var-ids 28719}#)
+                                      (cons #{var 28941}# #{vars 28720}#)
+                                      (cons (cons #{er 28724}#
+                                                  (if (if (null? (car #{w 
28933}#))
+                                                        (null? (cdr #{w 
28933}#))
                                                         #f)
-                                                    #{e 28622}#
+                                                    #{e 28932}#
                                                     (if (if (vector?
-                                                              #{e 28622}#)
+                                                              #{e 28932}#)
                                                           (if (= (vector-length
-                                                                   #{e 28622}#)
+                                                                   #{e 28932}#)
                                                                  4)
                                                             (eq? (vector-ref
-                                                                   #{e 28622}#
+                                                                   #{e 28932}#
                                                                    0)
                                                                  
'syntax-object)
                                                             #f)
                                                           #f)
-                                                      (let ((#{expression 
28833}#
+                                                      (let ((#{expression 
29143}#
                                                               (vector-ref
-                                                                #{e 28622}#
+                                                                #{e 28932}#
                                                                 1))
-                                                            (#{wrap 28834}#
-                                                              (let ((#{w2 
28844}#
+                                                            (#{wrap 29144}#
+                                                              (let ((#{w2 
29154}#
                                                                       
(vector-ref
-                                                                        #{e 
28622}#
+                                                                        #{e 
28932}#
                                                                         2)))
-                                                                (let ((#{m1 
28845}#
-                                                                        (car 
#{w 28623}#))
-                                                                      (#{s1 
28846}#
-                                                                        (cdr 
#{w 28623}#)))
-                                                                  (if (null? 
#{m1 28845}#)
-                                                                    (if (null? 
#{s1 28846}#)
-                                                                      #{w2 
28844}#
-                                                                      (cons 
(car #{w2 28844}#)
-                                                                            
(let ((#{m2 28863}#
-                                                                               
     (cdr #{w2 28844}#)))
-                                                                              
(if (null? #{m2 28863}#)
-                                                                               
 #{s1 28846}#
+                                                                (let ((#{m1 
29155}#
+                                                                        (car 
#{w 28933}#))
+                                                                      (#{s1 
29156}#
+                                                                        (cdr 
#{w 28933}#)))
+                                                                  (if (null? 
#{m1 29155}#)
+                                                                    (if (null? 
#{s1 29156}#)
+                                                                      #{w2 
29154}#
+                                                                      (cons 
(car #{w2 29154}#)
+                                                                            
(let ((#{m2 29173}#
+                                                                               
     (cdr #{w2 29154}#)))
+                                                                              
(if (null? #{m2 29173}#)
+                                                                               
 #{s1 29156}#
                                                                                
 (append
-                                                                               
   #{s1 28846}#
-                                                                               
   #{m2 28863}#)))))
-                                                                    (cons (let 
((#{m2 28871}#
-                                                                               
   (car #{w2 28844}#)))
-                                                                            
(if (null? #{m2 28871}#)
-                                                                              
#{m1 28845}#
+                                                                               
   #{s1 29156}#
+                                                                               
   #{m2 29173}#)))))
+                                                                    (cons (let 
((#{m2 29181}#
+                                                                               
   (car #{w2 29154}#)))
+                                                                            
(if (null? #{m2 29181}#)
+                                                                              
#{m1 29155}#
                                                                               
(append
-                                                                               
 #{m1 28845}#
-                                                                               
 #{m2 28871}#)))
-                                                                          (let 
((#{m2 28879}#
-                                                                               
   (cdr #{w2 28844}#)))
-                                                                            
(if (null? #{m2 28879}#)
-                                                                              
#{s1 28846}#
+                                                                               
 #{m1 29155}#
+                                                                               
 #{m2 29181}#)))
+                                                                          (let 
((#{m2 29189}#
+                                                                               
   (cdr #{w2 29154}#)))
+                                                                            
(if (null? #{m2 29189}#)
+                                                                              
#{s1 29156}#
                                                                               
(append
-                                                                               
 #{s1 28846}#
-                                                                               
 #{m2 28879}#))))))))
-                                                            (#{module 28835}#
+                                                                               
 #{s1 29156}#
+                                                                               
 #{m2 29189}#))))))))
+                                                            (#{module 29145}#
                                                               (vector-ref
-                                                                #{e 28622}#
+                                                                #{e 28932}#
                                                                 3)))
                                                         (vector
                                                           'syntax-object
-                                                          #{expression 28833}#
-                                                          #{wrap 28834}#
-                                                          #{module 28835}#))
-                                                      (if (null? #{e 28622}#)
-                                                        #{e 28622}#
+                                                          #{expression 29143}#
+                                                          #{wrap 29144}#
+                                                          #{module 29145}#))
+                                                      (if (null? #{e 28932}#)
+                                                        #{e 28932}#
                                                         (vector
                                                           'syntax-object
-                                                          #{e 28622}#
-                                                          #{w 28623}#
-                                                          #{mod 28625}#)))))
-                                            #{vals 28411}#)
-                                      (cons (cons 'lexical #{var 28631}#)
-                                            #{bindings 28412}#)))))
-                              (if (if (eqv? #{type 28620}# 'define-syntax-form)
+                                                          #{e 28932}#
+                                                          #{w 28933}#
+                                                          #{mod 28935}#)))))
+                                            #{vals 28721}#)
+                                      (cons (cons 'lexical #{var 28941}#)
+                                            #{bindings 28722}#)))))
+                              (if (if (eqv? #{type 28930}# 'define-syntax-form)
                                     #t
-                                    (eqv? #{type 28620}#
+                                    (eqv? #{type 28930}#
                                           'define-syntax-parameter-form))
-                                (let ((#{id 28910}#
-                                        (if (if (null? (car #{w 28623}#))
-                                              (null? (cdr #{w 28623}#))
+                                (let ((#{id 29220}#
+                                        (if (if (null? (car #{w 28933}#))
+                                              (null? (cdr #{w 28933}#))
                                               #f)
-                                          #{value 28621}#
-                                          (if (if (vector? #{value 28621}#)
+                                          #{value 28931}#
+                                          (if (if (vector? #{value 28931}#)
                                                 (if (= (vector-length
-                                                         #{value 28621}#)
+                                                         #{value 28931}#)
                                                        4)
                                                   (eq? (vector-ref
-                                                         #{value 28621}#
+                                                         #{value 28931}#
                                                          0)
                                                        'syntax-object)
                                                   #f)
                                                 #f)
-                                            (let ((#{expression 28954}#
+                                            (let ((#{expression 29264}#
                                                     (vector-ref
-                                                      #{value 28621}#
+                                                      #{value 28931}#
                                                       1))
-                                                  (#{wrap 28955}#
-                                                    (let ((#{w2 28965}#
+                                                  (#{wrap 29265}#
+                                                    (let ((#{w2 29275}#
                                                             (vector-ref
-                                                              #{value 28621}#
+                                                              #{value 28931}#
                                                               2)))
-                                                      (let ((#{m1 28966}#
-                                                              (car #{w 
28623}#))
-                                                            (#{s1 28967}#
-                                                              (cdr #{w 
28623}#)))
-                                                        (if (null? #{m1 
28966}#)
-                                                          (if (null? #{s1 
28967}#)
-                                                            #{w2 28965}#
-                                                            (cons (car #{w2 
28965}#)
-                                                                  (let ((#{m2 
28984}#
-                                                                          (cdr 
#{w2 28965}#)))
-                                                                    (if (null? 
#{m2 28984}#)
-                                                                      #{s1 
28967}#
+                                                      (let ((#{m1 29276}#
+                                                              (car #{w 
28933}#))
+                                                            (#{s1 29277}#
+                                                              (cdr #{w 
28933}#)))
+                                                        (if (null? #{m1 
29276}#)
+                                                          (if (null? #{s1 
29277}#)
+                                                            #{w2 29275}#
+                                                            (cons (car #{w2 
29275}#)
+                                                                  (let ((#{m2 
29294}#
+                                                                          (cdr 
#{w2 29275}#)))
+                                                                    (if (null? 
#{m2 29294}#)
+                                                                      #{s1 
29277}#
                                                                       (append
-                                                                        #{s1 
28967}#
-                                                                        #{m2 
28984}#)))))
-                                                          (cons (let ((#{m2 
28992}#
-                                                                        (car 
#{w2 28965}#)))
-                                                                  (if (null? 
#{m2 28992}#)
-                                                                    #{m1 
28966}#
+                                                                        #{s1 
29277}#
+                                                                        #{m2 
29294}#)))))
+                                                          (cons (let ((#{m2 
29302}#
+                                                                        (car 
#{w2 29275}#)))
+                                                                  (if (null? 
#{m2 29302}#)
+                                                                    #{m1 
29276}#
                                                                     (append
-                                                                      #{m1 
28966}#
-                                                                      #{m2 
28992}#)))
-                                                                (let ((#{m2 
29000}#
-                                                                        (cdr 
#{w2 28965}#)))
-                                                                  (if (null? 
#{m2 29000}#)
-                                                                    #{s1 
28967}#
+                                                                      #{m1 
29276}#
+                                                                      #{m2 
29302}#)))
+                                                                (let ((#{m2 
29310}#
+                                                                        (cdr 
#{w2 29275}#)))
+                                                                  (if (null? 
#{m2 29310}#)
+                                                                    #{s1 
29277}#
                                                                     (append
-                                                                      #{s1 
28967}#
-                                                                      #{m2 
29000}#))))))))
-                                                  (#{module 28956}#
+                                                                      #{s1 
29277}#
+                                                                      #{m2 
29310}#))))))))
+                                                  (#{module 29266}#
                                                     (vector-ref
-                                                      #{value 28621}#
+                                                      #{value 28931}#
                                                       3)))
                                               (vector
                                                 'syntax-object
-                                                #{expression 28954}#
-                                                #{wrap 28955}#
-                                                #{module 28956}#))
-                                            (if (null? #{value 28621}#)
-                                              #{value 28621}#
+                                                #{expression 29264}#
+                                                #{wrap 29265}#
+                                                #{module 29266}#))
+                                            (if (null? #{value 28931}#)
+                                              #{value 28931}#
                                               (vector
                                                 'syntax-object
-                                                #{value 28621}#
-                                                #{w 28623}#
-                                                #{mod 28625}#)))))
-                                      (#{label 28911}#
+                                                #{value 28931}#
+                                                #{w 28933}#
+                                                #{mod 28935}#)))))
+                                      (#{label 29221}#
                                         (symbol->string (gensym "i"))))
                                   (begin
                                     (begin
-                                      (let ((#{update 28920}#
-                                              (cons (vector-ref #{id 28910}# 1)
+                                      (let ((#{update 29230}#
+                                              (cons (vector-ref #{id 29220}# 1)
                                                     (vector-ref
-                                                      #{ribcage 28296}#
+                                                      #{ribcage 28606}#
                                                       1))))
                                         (vector-set!
-                                          #{ribcage 28296}#
+                                          #{ribcage 28606}#
                                           1
-                                          #{update 28920}#))
-                                      (let ((#{update 29032}#
+                                          #{update 29230}#))
+                                      (let ((#{update 29342}#
                                               (cons (car (vector-ref
-                                                           #{id 28910}#
+                                                           #{id 29220}#
                                                            2))
                                                     (vector-ref
-                                                      #{ribcage 28296}#
+                                                      #{ribcage 28606}#
                                                       2))))
                                         (vector-set!
-                                          #{ribcage 28296}#
+                                          #{ribcage 28606}#
                                           2
-                                          #{update 29032}#))
-                                      (let ((#{update 29047}#
-                                              (cons #{label 28911}#
+                                          #{update 29342}#))
+                                      (let ((#{update 29357}#
+                                              (cons #{label 29221}#
                                                     (vector-ref
-                                                      #{ribcage 28296}#
+                                                      #{ribcage 28606}#
                                                       3))))
                                         (vector-set!
-                                          #{ribcage 28296}#
+                                          #{ribcage 28606}#
                                           3
-                                          #{update 29047}#)))
-                                    (#{parse 28298}#
-                                      (cdr #{body 28406}#)
-                                      (cons #{id 28910}# #{ids 28407}#)
-                                      (cons #{label 28911}# #{labels 28408}#)
-                                      #{var-ids 28409}#
-                                      #{vars 28410}#
-                                      #{vals 28411}#
-                                      (cons (cons (if (eq? #{type 28620}#
+                                          #{update 29357}#)))
+                                    (#{parse 28608}#
+                                      (cdr #{body 28716}#)
+                                      (cons #{id 29220}# #{ids 28717}#)
+                                      (cons #{label 29221}# #{labels 28718}#)
+                                      #{var-ids 28719}#
+                                      #{vars 28720}#
+                                      #{vals 28721}#
+                                      (cons (cons (if (eq? #{type 28930}#
                                                            
'define-syntax-parameter-form)
                                                     'syntax-parameter
                                                     'macro)
-                                                  (cons #{er 28414}#
-                                                        (if (if (null? (car 
#{w 28623}#))
-                                                              (null? (cdr #{w 
28623}#))
+                                                  (cons #{er 28724}#
+                                                        (if (if (null? (car 
#{w 28933}#))
+                                                              (null? (cdr #{w 
28933}#))
                                                               #f)
-                                                          #{e 28622}#
+                                                          #{e 28932}#
                                                           (if (if (vector?
-                                                                    #{e 
28622}#)
+                                                                    #{e 
28932}#)
                                                                 (if (= 
(vector-length
-                                                                         #{e 
28622}#)
+                                                                         #{e 
28932}#)
                                                                        4)
                                                                   (eq? 
(vector-ref
-                                                                         #{e 
28622}#
+                                                                         #{e 
28932}#
                                                                          0)
                                                                        
'syntax-object)
                                                                   #f)
                                                                 #f)
-                                                            (let 
((#{expression 29086}#
+                                                            (let 
((#{expression 29396}#
                                                                     (vector-ref
-                                                                      #{e 
28622}#
+                                                                      #{e 
28932}#
                                                                       1))
-                                                                  (#{wrap 
29087}#
-                                                                    (let 
((#{w2 29097}#
+                                                                  (#{wrap 
29397}#
+                                                                    (let 
((#{w2 29407}#
                                                                             
(vector-ref
-                                                                              
#{e 28622}#
+                                                                              
#{e 28932}#
                                                                               
2)))
-                                                                      (let 
((#{m1 29098}#
-                                                                              
(car #{w 28623}#))
-                                                                            
(#{s1 29099}#
-                                                                              
(cdr #{w 28623}#)))
-                                                                        (if 
(null? #{m1 29098}#)
-                                                                          (if 
(null? #{s1 29099}#)
-                                                                            
#{w2 29097}#
-                                                                            
(cons (car #{w2 29097}#)
-                                                                               
   (let ((#{m2 29116}#
-                                                                               
           (cdr #{w2 29097}#)))
-                                                                               
     (if (null? #{m2 29116}#)
-                                                                               
       #{s1 29099}#
+                                                                      (let 
((#{m1 29408}#
+                                                                              
(car #{w 28933}#))
+                                                                            
(#{s1 29409}#
+                                                                              
(cdr #{w 28933}#)))
+                                                                        (if 
(null? #{m1 29408}#)
+                                                                          (if 
(null? #{s1 29409}#)
+                                                                            
#{w2 29407}#
+                                                                            
(cons (car #{w2 29407}#)
+                                                                               
   (let ((#{m2 29426}#
+                                                                               
           (cdr #{w2 29407}#)))
+                                                                               
     (if (null? #{m2 29426}#)
+                                                                               
       #{s1 29409}#
                                                                                
       (append
-                                                                               
         #{s1 29099}#
-                                                                               
         #{m2 29116}#)))))
-                                                                          
(cons (let ((#{m2 29124}#
-                                                                               
         (car #{w2 29097}#)))
-                                                                               
   (if (null? #{m2 29124}#)
-                                                                               
     #{m1 29098}#
+                                                                               
         #{s1 29409}#
+                                                                               
         #{m2 29426}#)))))
+                                                                          
(cons (let ((#{m2 29434}#
+                                                                               
         (car #{w2 29407}#)))
+                                                                               
   (if (null? #{m2 29434}#)
+                                                                               
     #{m1 29408}#
                                                                                
     (append
-                                                                               
       #{m1 29098}#
-                                                                               
       #{m2 29124}#)))
-                                                                               
 (let ((#{m2 29132}#
-                                                                               
         (cdr #{w2 29097}#)))
-                                                                               
   (if (null? #{m2 29132}#)
-                                                                               
     #{s1 29099}#
+                                                                               
       #{m1 29408}#
+                                                                               
       #{m2 29434}#)))
+                                                                               
 (let ((#{m2 29442}#
+                                                                               
         (cdr #{w2 29407}#)))
+                                                                               
   (if (null? #{m2 29442}#)
+                                                                               
     #{s1 29409}#
                                                                                
     (append
-                                                                               
       #{s1 29099}#
-                                                                               
       #{m2 29132}#))))))))
-                                                                  (#{module 
29088}#
+                                                                               
       #{s1 29409}#
+                                                                               
       #{m2 29442}#))))))))
+                                                                  (#{module 
29398}#
                                                                     (vector-ref
-                                                                      #{e 
28622}#
+                                                                      #{e 
28932}#
                                                                       3)))
                                                               (vector
                                                                 'syntax-object
-                                                                #{expression 
29086}#
-                                                                #{wrap 29087}#
-                                                                #{module 
29088}#))
-                                                            (if (null? #{e 
28622}#)
-                                                              #{e 28622}#
+                                                                #{expression 
29396}#
+                                                                #{wrap 29397}#
+                                                                #{module 
29398}#))
+                                                            (if (null? #{e 
28932}#)
+                                                              #{e 28932}#
                                                               (vector
                                                                 'syntax-object
-                                                                #{e 28622}#
-                                                                #{w 28623}#
-                                                                #{mod 
28625}#))))))
-                                            #{bindings 28412}#))))
-                                (if (eqv? #{type 28620}# 'begin-form)
-                                  (let ((#{tmp 29159}#
+                                                                #{e 28932}#
+                                                                #{w 28933}#
+                                                                #{mod 
28935}#))))))
+                                            #{bindings 28722}#))))
+                                (if (eqv? #{type 28930}# 'begin-form)
+                                  (let ((#{tmp 29469}#
                                           ($sc-dispatch
-                                            #{e 28622}#
+                                            #{e 28932}#
                                             '(_ . each-any))))
-                                    (if #{tmp 29159}#
+                                    (if #{tmp 29469}#
                                       (@apply
-                                        (lambda (#{e1 29163}#)
-                                          (#{parse 28298}#
+                                        (lambda (#{e1 29473}#)
+                                          (#{parse 28608}#
                                             (letrec*
-                                              ((#{f 29164}#
-                                                 (lambda (#{forms 29380}#)
-                                                   (if (null? #{forms 29380}#)
-                                                     (cdr #{body 28406}#)
-                                                     (cons (cons #{er 28414}#
-                                                                 (let ((#{x 
29384}#
-                                                                         (car 
#{forms 29380}#)))
-                                                                   (if (if 
(null? (car #{w 28623}#))
-                                                                         
(null? (cdr #{w 28623}#))
+                                              ((#{f 29474}#
+                                                 (lambda (#{forms 29690}#)
+                                                   (if (null? #{forms 29690}#)
+                                                     (cdr #{body 28716}#)
+                                                     (cons (cons #{er 28724}#
+                                                                 (let ((#{x 
29694}#
+                                                                         (car 
#{forms 29690}#)))
+                                                                   (if (if 
(null? (car #{w 28933}#))
+                                                                         
(null? (cdr #{w 28933}#))
                                                                          #f)
-                                                                     #{x 
29384}#
+                                                                     #{x 
29694}#
                                                                      (if (if 
(vector?
-                                                                               
#{x 29384}#)
+                                                                               
#{x 29694}#)
                                                                            (if 
(= (vector-length
-                                                                               
     #{x 29384}#)
+                                                                               
     #{x 29694}#)
                                                                                
   4)
                                                                              
(eq? (vector-ref
-                                                                               
     #{x 29384}#
+                                                                               
     #{x 29694}#
                                                                                
     0)
                                                                                
   'syntax-object)
                                                                              
#f)
                                                                            #f)
-                                                                       (let 
((#{expression 29402}#
+                                                                       (let 
((#{expression 29712}#
                                                                                
(vector-ref
-                                                                               
  #{x 29384}#
+                                                                               
  #{x 29694}#
                                                                                
  1))
-                                                                             
(#{wrap 29403}#
-                                                                               
(let ((#{w2 29411}#
+                                                                             
(#{wrap 29713}#
+                                                                               
(let ((#{w2 29721}#
                                                                                
        (vector-ref
-                                                                               
          #{x 29384}#
+                                                                               
          #{x 29694}#
                                                                                
          2)))
-                                                                               
  (let ((#{m1 29412}#
-                                                                               
          (car #{w 28623}#))
-                                                                               
        (#{s1 29413}#
-                                                                               
          (cdr #{w 28623}#)))
-                                                                               
    (if (null? #{m1 29412}#)
-                                                                               
      (if (null? #{s1 29413}#)
-                                                                               
        #{w2 29411}#
-                                                                               
        (cons (car #{w2 29411}#)
-                                                                               
              (let ((#{m2 29428}#
-                                                                               
                      (cdr #{w2 29411}#)))
-                                                                               
                (if (null? #{m2 29428}#)
-                                                                               
                  #{s1 29413}#
+                                                                               
  (let ((#{m1 29722}#
+                                                                               
          (car #{w 28933}#))
+                                                                               
        (#{s1 29723}#
+                                                                               
          (cdr #{w 28933}#)))
+                                                                               
    (if (null? #{m1 29722}#)
+                                                                               
      (if (null? #{s1 29723}#)
+                                                                               
        #{w2 29721}#
+                                                                               
        (cons (car #{w2 29721}#)
+                                                                               
              (let ((#{m2 29738}#
+                                                                               
                      (cdr #{w2 29721}#)))
+                                                                               
                (if (null? #{m2 29738}#)
+                                                                               
                  #{s1 29723}#
                                                                                
                  (append
-                                                                               
                    #{s1 29413}#
-                                                                               
                    #{m2 29428}#)))))
-                                                                               
      (cons (let ((#{m2 29436}#
-                                                                               
                    (car #{w2 29411}#)))
-                                                                               
              (if (null? #{m2 29436}#)
-                                                                               
                #{m1 29412}#
+                                                                               
                    #{s1 29723}#
+                                                                               
                    #{m2 29738}#)))))
+                                                                               
      (cons (let ((#{m2 29746}#
+                                                                               
                    (car #{w2 29721}#)))
+                                                                               
              (if (null? #{m2 29746}#)
+                                                                               
                #{m1 29722}#
                                                                                
                (append
-                                                                               
                  #{m1 29412}#
-                                                                               
                  #{m2 29436}#)))
-                                                                               
            (let ((#{m2 29444}#
-                                                                               
                    (cdr #{w2 29411}#)))
-                                                                               
              (if (null? #{m2 29444}#)
-                                                                               
                #{s1 29413}#
+                                                                               
                  #{m1 29722}#
+                                                                               
                  #{m2 29746}#)))
+                                                                               
            (let ((#{m2 29754}#
+                                                                               
                    (cdr #{w2 29721}#)))
+                                                                               
              (if (null? #{m2 29754}#)
+                                                                               
                #{s1 29723}#
                                                                                
                (append
-                                                                               
                  #{s1 29413}#
-                                                                               
                  #{m2 29444}#))))))))
-                                                                             
(#{module 29404}#
+                                                                               
                  #{s1 29723}#
+                                                                               
                  #{m2 29754}#))))))))
+                                                                             
(#{module 29714}#
                                                                                
(vector-ref
-                                                                               
  #{x 29384}#
+                                                                               
  #{x 29694}#
                                                                                
  3)))
                                                                          
(vector
                                                                            
'syntax-object
-                                                                           
#{expression 29402}#
-                                                                           
#{wrap 29403}#
-                                                                           
#{module 29404}#))
-                                                                       (if 
(null? #{x 29384}#)
-                                                                         #{x 
29384}#
+                                                                           
#{expression 29712}#
+                                                                           
#{wrap 29713}#
+                                                                           
#{module 29714}#))
+                                                                       (if 
(null? #{x 29694}#)
+                                                                         #{x 
29694}#
                                                                          
(vector
                                                                            
'syntax-object
-                                                                           #{x 
29384}#
-                                                                           #{w 
28623}#
-                                                                           
#{mod 28625}#))))))
-                                                           (#{f 29164}#
-                                                             (cdr #{forms 
29380}#)))))))
-                                              (#{f 29164}# #{e1 29163}#))
-                                            #{ids 28407}#
-                                            #{labels 28408}#
-                                            #{var-ids 28409}#
-                                            #{vars 28410}#
-                                            #{vals 28411}#
-                                            #{bindings 28412}#))
-                                        #{tmp 29159}#)
+                                                                           #{x 
29694}#
+                                                                           #{w 
28933}#
+                                                                           
#{mod 28935}#))))))
+                                                           (#{f 29474}#
+                                                             (cdr #{forms 
29690}#)))))))
+                                              (#{f 29474}# #{e1 29473}#))
+                                            #{ids 28717}#
+                                            #{labels 28718}#
+                                            #{var-ids 28719}#
+                                            #{vars 28720}#
+                                            #{vals 28721}#
+                                            #{bindings 28722}#))
+                                        #{tmp 29469}#)
                                       (syntax-violation
                                         #f
                                         "source expression failed to match any 
pattern"
-                                        #{e 28622}#)))
-                                  (if (eqv? #{type 28620}# 'local-syntax-form)
-                                    (#{chi-local-syntax 4451}#
-                                      #{value 28621}#
-                                      #{e 28622}#
-                                      #{er 28414}#
-                                      #{w 28623}#
-                                      #{s 28624}#
-                                      #{mod 28625}#
-                                      (lambda (#{forms 29470}#
-                                               #{er 29471}#
-                                               #{w 29472}#
-                                               #{s 29473}#
-                                               #{mod 29474}#)
-                                        (#{parse 28298}#
+                                        #{e 28932}#)))
+                                  (if (eqv? #{type 28930}# 'local-syntax-form)
+                                    (#{expand-local-syntax 4448}#
+                                      #{value 28931}#
+                                      #{e 28932}#
+                                      #{er 28724}#
+                                      #{w 28933}#
+                                      #{s 28934}#
+                                      #{mod 28935}#
+                                      (lambda (#{forms 29780}#
+                                               #{er 29781}#
+                                               #{w 29782}#
+                                               #{s 29783}#
+                                               #{mod 29784}#)
+                                        (#{parse 28608}#
                                           (letrec*
-                                            ((#{f 29475}#
-                                               (lambda (#{forms 29691}#)
-                                                 (if (null? #{forms 29691}#)
-                                                   (cdr #{body 28406}#)
-                                                   (cons (cons #{er 29471}#
-                                                               (let ((#{x 
29695}#
-                                                                       (car 
#{forms 29691}#)))
-                                                                 (if (if 
(null? (car #{w 29472}#))
-                                                                       (null? 
(cdr #{w 29472}#))
+                                            ((#{f 29785}#
+                                               (lambda (#{forms 30001}#)
+                                                 (if (null? #{forms 30001}#)
+                                                   (cdr #{body 28716}#)
+                                                   (cons (cons #{er 29781}#
+                                                               (let ((#{x 
30005}#
+                                                                       (car 
#{forms 30001}#)))
+                                                                 (if (if 
(null? (car #{w 29782}#))
+                                                                       (null? 
(cdr #{w 29782}#))
                                                                        #f)
-                                                                   #{x 29695}#
+                                                                   #{x 30005}#
                                                                    (if (if 
(vector?
-                                                                             
#{x 29695}#)
+                                                                             
#{x 30005}#)
                                                                          (if 
(= (vector-length
-                                                                               
   #{x 29695}#)
+                                                                               
   #{x 30005}#)
                                                                                
 4)
                                                                            
(eq? (vector-ref
-                                                                               
   #{x 29695}#
+                                                                               
   #{x 30005}#
                                                                                
   0)
                                                                                
 'syntax-object)
                                                                            #f)
                                                                          #f)
-                                                                     (let 
((#{expression 29713}#
+                                                                     (let 
((#{expression 30023}#
                                                                              
(vector-ref
-                                                                               
#{x 29695}#
+                                                                               
#{x 30005}#
                                                                                
1))
-                                                                           
(#{wrap 29714}#
-                                                                             
(let ((#{w2 29722}#
+                                                                           
(#{wrap 30024}#
+                                                                             
(let ((#{w2 30032}#
                                                                                
      (vector-ref
-                                                                               
        #{x 29695}#
+                                                                               
        #{x 30005}#
                                                                                
        2)))
-                                                                               
(let ((#{m1 29723}#
-                                                                               
        (car #{w 29472}#))
-                                                                               
      (#{s1 29724}#
-                                                                               
        (cdr #{w 29472}#)))
-                                                                               
  (if (null? #{m1 29723}#)
-                                                                               
    (if (null? #{s1 29724}#)
-                                                                               
      #{w2 29722}#
-                                                                               
      (cons (car #{w2 29722}#)
-                                                                               
            (let ((#{m2 29739}#
-                                                                               
                    (cdr #{w2 29722}#)))
-                                                                               
              (if (null? #{m2 29739}#)
-                                                                               
                #{s1 29724}#
+                                                                               
(let ((#{m1 30033}#
+                                                                               
        (car #{w 29782}#))
+                                                                               
      (#{s1 30034}#
+                                                                               
        (cdr #{w 29782}#)))
+                                                                               
  (if (null? #{m1 30033}#)
+                                                                               
    (if (null? #{s1 30034}#)
+                                                                               
      #{w2 30032}#
+                                                                               
      (cons (car #{w2 30032}#)
+                                                                               
            (let ((#{m2 30049}#
+                                                                               
                    (cdr #{w2 30032}#)))
+                                                                               
              (if (null? #{m2 30049}#)
+                                                                               
                #{s1 30034}#
                                                                                
                (append
-                                                                               
                  #{s1 29724}#
-                                                                               
                  #{m2 29739}#)))))
-                                                                               
    (cons (let ((#{m2 29747}#
-                                                                               
                  (car #{w2 29722}#)))
-                                                                               
            (if (null? #{m2 29747}#)
-                                                                               
              #{m1 29723}#
+                                                                               
                  #{s1 30034}#
+                                                                               
                  #{m2 30049}#)))))
+                                                                               
    (cons (let ((#{m2 30057}#
+                                                                               
                  (car #{w2 30032}#)))
+                                                                               
            (if (null? #{m2 30057}#)
+                                                                               
              #{m1 30033}#
                                                                                
              (append
-                                                                               
                #{m1 29723}#
-                                                                               
                #{m2 29747}#)))
-                                                                               
          (let ((#{m2 29755}#
-                                                                               
                  (cdr #{w2 29722}#)))
-                                                                               
            (if (null? #{m2 29755}#)
-                                                                               
              #{s1 29724}#
+                                                                               
                #{m1 30033}#
+                                                                               
                #{m2 30057}#)))
+                                                                               
          (let ((#{m2 30065}#
+                                                                               
                  (cdr #{w2 30032}#)))
+                                                                               
            (if (null? #{m2 30065}#)
+                                                                               
              #{s1 30034}#
                                                                                
              (append
-                                                                               
                #{s1 29724}#
-                                                                               
                #{m2 29755}#))))))))
-                                                                           
(#{module 29715}#
+                                                                               
                #{s1 30034}#
+                                                                               
                #{m2 30065}#))))))))
+                                                                           
(#{module 30025}#
                                                                              
(vector-ref
-                                                                               
#{x 29695}#
+                                                                               
#{x 30005}#
                                                                                
3)))
                                                                        (vector
                                                                          
'syntax-object
-                                                                         
#{expression 29713}#
-                                                                         
#{wrap 29714}#
-                                                                         
#{module 29715}#))
-                                                                     (if 
(null? #{x 29695}#)
-                                                                       #{x 
29695}#
+                                                                         
#{expression 30023}#
+                                                                         
#{wrap 30024}#
+                                                                         
#{module 30025}#))
+                                                                     (if 
(null? #{x 30005}#)
+                                                                       #{x 
30005}#
                                                                        (vector
                                                                          
'syntax-object
-                                                                         #{x 
29695}#
-                                                                         #{w 
29472}#
-                                                                         #{mod 
29474}#))))))
-                                                         (#{f 29475}#
-                                                           (cdr #{forms 
29691}#)))))))
-                                            (#{f 29475}# #{forms 29470}#))
-                                          #{ids 28407}#
-                                          #{labels 28408}#
-                                          #{var-ids 28409}#
-                                          #{vars 28410}#
-                                          #{vals 28411}#
-                                          #{bindings 28412}#)))
-                                    (if (null? #{ids 28407}#)
-                                      (#{build-sequence 4395}#
+                                                                         #{x 
30005}#
+                                                                         #{w 
29782}#
+                                                                         #{mod 
29784}#))))))
+                                                         (#{f 29785}#
+                                                           (cdr #{forms 
30001}#)))))))
+                                            (#{f 29785}# #{forms 29780}#))
+                                          #{ids 28717}#
+                                          #{labels 28718}#
+                                          #{var-ids 28719}#
+                                          #{vars 28720}#
+                                          #{vals 28721}#
+                                          #{bindings 28722}#)))
+                                    (if (null? #{ids 28717}#)
+                                      (#{build-sequence 4392}#
                                         #f
-                                        (map (lambda (#{x 29844}#)
-                                               (#{chi 4446}#
-                                                 (cdr #{x 29844}#)
-                                                 (car #{x 29844}#)
+                                        (map (lambda (#{x 30154}#)
+                                               (#{expand 4443}#
+                                                 (cdr #{x 30154}#)
+                                                 (car #{x 30154}#)
                                                  '(())
-                                                 #{mod 28625}#))
-                                             (cons (cons #{er 28414}#
-                                                         (let ((#{x 29923}#
+                                                 #{mod 28935}#))
+                                             (cons (cons #{er 28724}#
+                                                         (let ((#{x 30233}#
                                                                  (begin
-                                                                   (if (if 
(pair? #{e 28622}#)
-                                                                         #{s 
28624}#
+                                                                   (if (if 
(pair? #{e 28932}#)
+                                                                         #{s 
28934}#
                                                                          #f)
                                                                      
(set-source-properties!
-                                                                       #{e 
28622}#
-                                                                       #{s 
28624}#))
-                                                                   #{e 
28622}#)))
-                                                           (if (if (null? (car 
#{w 28623}#))
-                                                                 (null? (cdr 
#{w 28623}#))
+                                                                       #{e 
28932}#
+                                                                       #{s 
28934}#))
+                                                                   #{e 
28932}#)))
+                                                           (if (if (null? (car 
#{w 28933}#))
+                                                                 (null? (cdr 
#{w 28933}#))
                                                                  #f)
-                                                             #{x 29923}#
+                                                             #{x 30233}#
                                                              (if (if (vector?
-                                                                       #{x 
29923}#)
+                                                                       #{x 
30233}#)
                                                                    (if (= 
(vector-length
-                                                                            
#{x 29923}#)
+                                                                            
#{x 30233}#)
                                                                           4)
                                                                      (eq? 
(vector-ref
-                                                                            
#{x 29923}#
+                                                                            
#{x 30233}#
                                                                             0)
                                                                           
'syntax-object)
                                                                      #f)
                                                                    #f)
-                                                               (let 
((#{expression 29955}#
+                                                               (let 
((#{expression 30265}#
                                                                        
(vector-ref
-                                                                         #{x 
29923}#
+                                                                         #{x 
30233}#
                                                                          1))
-                                                                     (#{wrap 
29956}#
-                                                                       (let 
((#{w2 29964}#
+                                                                     (#{wrap 
30266}#
+                                                                       (let 
((#{w2 30274}#
                                                                                
(vector-ref
-                                                                               
  #{x 29923}#
+                                                                               
  #{x 30233}#
                                                                                
  2)))
-                                                                         (let 
((#{m1 29965}#
-                                                                               
  (car #{w 28623}#))
-                                                                               
(#{s1 29966}#
-                                                                               
  (cdr #{w 28623}#)))
-                                                                           (if 
(null? #{m1 29965}#)
-                                                                             
(if (null? #{s1 29966}#)
-                                                                               
#{w2 29964}#
-                                                                               
(cons (car #{w2 29964}#)
-                                                                               
      (let ((#{m2 29981}#
-                                                                               
              (cdr #{w2 29964}#)))
-                                                                               
        (if (null? #{m2 29981}#)
-                                                                               
          #{s1 29966}#
+                                                                         (let 
((#{m1 30275}#
+                                                                               
  (car #{w 28933}#))
+                                                                               
(#{s1 30276}#
+                                                                               
  (cdr #{w 28933}#)))
+                                                                           (if 
(null? #{m1 30275}#)
+                                                                             
(if (null? #{s1 30276}#)
+                                                                               
#{w2 30274}#
+                                                                               
(cons (car #{w2 30274}#)
+                                                                               
      (let ((#{m2 30291}#
+                                                                               
              (cdr #{w2 30274}#)))
+                                                                               
        (if (null? #{m2 30291}#)
+                                                                               
          #{s1 30276}#
                                                                                
          (append
-                                                                               
            #{s1 29966}#
-                                                                               
            #{m2 29981}#)))))
-                                                                             
(cons (let ((#{m2 29989}#
-                                                                               
            (car #{w2 29964}#)))
-                                                                               
      (if (null? #{m2 29989}#)
-                                                                               
        #{m1 29965}#
+                                                                               
            #{s1 30276}#
+                                                                               
            #{m2 30291}#)))))
+                                                                             
(cons (let ((#{m2 30299}#
+                                                                               
            (car #{w2 30274}#)))
+                                                                               
      (if (null? #{m2 30299}#)
+                                                                               
        #{m1 30275}#
                                                                                
        (append
-                                                                               
          #{m1 29965}#
-                                                                               
          #{m2 29989}#)))
-                                                                               
    (let ((#{m2 29997}#
-                                                                               
            (cdr #{w2 29964}#)))
-                                                                               
      (if (null? #{m2 29997}#)
-                                                                               
        #{s1 29966}#
+                                                                               
          #{m1 30275}#
+                                                                               
          #{m2 30299}#)))
+                                                                               
    (let ((#{m2 30307}#
+                                                                               
            (cdr #{w2 30274}#)))
+                                                                               
      (if (null? #{m2 30307}#)
+                                                                               
        #{s1 30276}#
                                                                                
        (append
-                                                                               
          #{s1 29966}#
-                                                                               
          #{m2 29997}#))))))))
-                                                                     (#{module 
29957}#
+                                                                               
          #{s1 30276}#
+                                                                               
          #{m2 30307}#))))))))
+                                                                     (#{module 
30267}#
                                                                        
(vector-ref
-                                                                         #{x 
29923}#
+                                                                         #{x 
30233}#
                                                                          3)))
                                                                  (vector
                                                                    
'syntax-object
-                                                                   
#{expression 29955}#
-                                                                   #{wrap 
29956}#
-                                                                   #{module 
29957}#))
-                                                               (if (null? #{x 
29923}#)
-                                                                 #{x 29923}#
+                                                                   
#{expression 30265}#
+                                                                   #{wrap 
30266}#
+                                                                   #{module 
30267}#))
+                                                               (if (null? #{x 
30233}#)
+                                                                 #{x 30233}#
                                                                  (vector
                                                                    
'syntax-object
-                                                                   #{x 29923}#
-                                                                   #{w 28623}#
-                                                                   #{mod 
28625}#))))))
-                                                   (cdr #{body 28406}#))))
+                                                                   #{x 30233}#
+                                                                   #{w 28933}#
+                                                                   #{mod 
28935}#))))))
+                                                   (cdr #{body 28716}#))))
                                       (begin
-                                        (if (not (#{valid-bound-ids? 4436}#
-                                                   #{ids 28407}#))
+                                        (if (not (#{valid-bound-ids? 4433}#
+                                                   #{ids 28717}#))
                                           (syntax-violation
                                             #f
                                             "invalid or duplicate identifier 
in definition"
-                                            #{outer-form 28291}#))
+                                            #{outer-form 28601}#))
                                         (letrec*
-                                          ((#{loop 30096}#
-                                             (lambda (#{bs 30099}#
-                                                      #{er-cache 30100}#
-                                                      #{r-cache 30101}#)
-                                               (if (not (null? #{bs 30099}#))
-                                                 (let ((#{b 30102}#
-                                                         (car #{bs 30099}#)))
-                                                   (if (let ((#{t 30105}#
-                                                               (car #{b 
30102}#)))
-                                                         (if (eq? #{t 30105}#
+                                          ((#{loop 30406}#
+                                             (lambda (#{bs 30409}#
+                                                      #{er-cache 30410}#
+                                                      #{r-cache 30411}#)
+                                               (if (not (null? #{bs 30409}#))
+                                                 (let ((#{b 30412}#
+                                                         (car #{bs 30409}#)))
+                                                   (if (let ((#{t 30415}#
+                                                               (car #{b 
30412}#)))
+                                                         (if (eq? #{t 30415}#
                                                                   'macro)
                                                            #t
-                                                           (eq? #{t 30105}#
+                                                           (eq? #{t 30415}#
                                                                 
'syntax-parameter)))
-                                                     (let ((#{er 30107}#
-                                                             (car (cdr #{b 
30102}#))))
-                                                       (let ((#{r-cache 30108}#
-                                                               (if (eq? #{er 
30107}#
-                                                                        
#{er-cache 30100}#)
-                                                                 #{r-cache 
30101}#
-                                                                 
(#{macros-only-env 4410}#
-                                                                   #{er 
30107}#))))
+                                                     (let ((#{er 30417}#
+                                                             (car (cdr #{b 
30412}#))))
+                                                       (let ((#{r-cache 30418}#
+                                                               (if (eq? #{er 
30417}#
+                                                                        
#{er-cache 30410}#)
+                                                                 #{r-cache 
30411}#
+                                                                 
(#{macros-only-env 4407}#
+                                                                   #{er 
30417}#))))
                                                          (begin
                                                            (set-cdr!
-                                                             #{b 30102}#
-                                                             
(#{eval-local-transformer 4452}#
-                                                               (#{chi 4446}#
-                                                                 (cdr (cdr #{b 
30102}#))
-                                                                 #{r-cache 
30108}#
+                                                             #{b 30412}#
+                                                             
(#{eval-local-transformer 4449}#
+                                                               (#{expand 4443}#
+                                                                 (cdr (cdr #{b 
30412}#))
+                                                                 #{r-cache 
30418}#
                                                                  '(())
-                                                                 #{mod 28625}#)
-                                                               #{mod 28625}#))
-                                                           (if (eq? (car #{b 
30102}#)
+                                                                 #{mod 28935}#)
+                                                               #{mod 28935}#))
+                                                           (if (eq? (car #{b 
30412}#)
                                                                     
'syntax-parameter)
                                                              (set-cdr!
-                                                               #{b 30102}#
-                                                               (list (cdr #{b 
30102}#))))
-                                                           (#{loop 30096}#
-                                                             (cdr #{bs 30099}#)
-                                                             #{er 30107}#
-                                                             #{r-cache 
30108}#))))
-                                                     (#{loop 30096}#
-                                                       (cdr #{bs 30099}#)
-                                                       #{er-cache 30100}#
-                                                       #{r-cache 30101}#)))))))
-                                          (#{loop 30096}#
-                                            #{bindings 28412}#
+                                                               #{b 30412}#
+                                                               (list (cdr #{b 
30412}#))))
+                                                           (#{loop 30406}#
+                                                             (cdr #{bs 30409}#)
+                                                             #{er 30417}#
+                                                             #{r-cache 
30418}#))))
+                                                     (#{loop 30406}#
+                                                       (cdr #{bs 30409}#)
+                                                       #{er-cache 30410}#
+                                                       #{r-cache 30411}#)))))))
+                                          (#{loop 30406}#
+                                            #{bindings 28722}#
                                             #f
                                             #f))
                                         (set-cdr!
-                                          #{r 28295}#
-                                          (#{extend-env 4408}#
-                                            #{labels 28408}#
-                                            #{bindings 28412}#
-                                            (cdr #{r 28295}#)))
-                                        (#{build-letrec 4398}#
+                                          #{r 28605}#
+                                          (#{extend-env 4405}#
+                                            #{labels 28718}#
+                                            #{bindings 28722}#
+                                            (cdr #{r 28605}#)))
+                                        (#{build-letrec 4395}#
                                           #f
                                           #t
                                           (reverse
                                             (map syntax->datum
-                                                 #{var-ids 28409}#))
-                                          (reverse #{vars 28410}#)
-                                          (map (lambda (#{x 30536}#)
-                                                 (#{chi 4446}#
-                                                   (cdr #{x 30536}#)
-                                                   (car #{x 30536}#)
+                                                 #{var-ids 28719}#))
+                                          (reverse #{vars 28720}#)
+                                          (map (lambda (#{x 30846}#)
+                                                 (#{expand 4443}#
+                                                   (cdr #{x 30846}#)
+                                                   (car #{x 30846}#)
                                                    '(())
-                                                   #{mod 28625}#))
-                                               (reverse #{vals 28411}#))
-                                          (#{build-sequence 4395}#
+                                                   #{mod 28935}#))
+                                               (reverse #{vals 28721}#))
+                                          (#{build-sequence 4392}#
                                             #f
-                                            (map (lambda (#{x 30680}#)
-                                                   (#{chi 4446}#
-                                                     (cdr #{x 30680}#)
-                                                     (car #{x 30680}#)
+                                            (map (lambda (#{x 30990}#)
+                                                   (#{expand 4443}#
+                                                     (cdr #{x 30990}#)
+                                                     (car #{x 30990}#)
                                                      '(())
-                                                     #{mod 28625}#))
-                                                 (cons (cons #{er 28414}#
-                                                             (let ((#{x 30759}#
+                                                     #{mod 28935}#))
+                                                 (cons (cons #{er 28724}#
+                                                             (let ((#{x 31069}#
                                                                      (begin
-                                                                       (if (if 
(pair? #{e 28622}#)
-                                                                             
#{s 28624}#
+                                                                       (if (if 
(pair? #{e 28932}#)
+                                                                             
#{s 28934}#
                                                                              
#f)
                                                                          
(set-source-properties!
-                                                                           #{e 
28622}#
-                                                                           #{s 
28624}#))
-                                                                       #{e 
28622}#)))
-                                                               (if (if (null? 
(car #{w 28623}#))
-                                                                     (null? 
(cdr #{w 28623}#))
+                                                                           #{e 
28932}#
+                                                                           #{s 
28934}#))
+                                                                       #{e 
28932}#)))
+                                                               (if (if (null? 
(car #{w 28933}#))
+                                                                     (null? 
(cdr #{w 28933}#))
                                                                      #f)
-                                                                 #{x 30759}#
+                                                                 #{x 31069}#
                                                                  (if (if 
(vector?
-                                                                           #{x 
30759}#)
+                                                                           #{x 
31069}#)
                                                                        (if (= 
(vector-length
-                                                                               
 #{x 30759}#)
+                                                                               
 #{x 31069}#)
                                                                               
4)
                                                                          (eq? 
(vector-ref
-                                                                               
 #{x 30759}#
+                                                                               
 #{x 31069}#
                                                                                
 0)
                                                                               
'syntax-object)
                                                                          #f)
                                                                        #f)
-                                                                   (let 
((#{expression 30791}#
+                                                                   (let 
((#{expression 31101}#
                                                                            
(vector-ref
-                                                                             
#{x 30759}#
+                                                                             
#{x 31069}#
                                                                              
1))
-                                                                         
(#{wrap 30792}#
-                                                                           
(let ((#{w2 30800}#
+                                                                         
(#{wrap 31102}#
+                                                                           
(let ((#{w2 31110}#
                                                                                
    (vector-ref
-                                                                               
      #{x 30759}#
+                                                                               
      #{x 31069}#
                                                                                
      2)))
-                                                                             
(let ((#{m1 30801}#
-                                                                               
      (car #{w 28623}#))
-                                                                               
    (#{s1 30802}#
-                                                                               
      (cdr #{w 28623}#)))
-                                                                               
(if (null? #{m1 30801}#)
-                                                                               
  (if (null? #{s1 30802}#)
-                                                                               
    #{w2 30800}#
-                                                                               
    (cons (car #{w2 30800}#)
-                                                                               
          (let ((#{m2 30817}#
-                                                                               
                  (cdr #{w2 30800}#)))
-                                                                               
            (if (null? #{m2 30817}#)
-                                                                               
              #{s1 30802}#
+                                                                             
(let ((#{m1 31111}#
+                                                                               
      (car #{w 28933}#))
+                                                                               
    (#{s1 31112}#
+                                                                               
      (cdr #{w 28933}#)))
+                                                                               
(if (null? #{m1 31111}#)
+                                                                               
  (if (null? #{s1 31112}#)
+                                                                               
    #{w2 31110}#
+                                                                               
    (cons (car #{w2 31110}#)
+                                                                               
          (let ((#{m2 31127}#
+                                                                               
                  (cdr #{w2 31110}#)))
+                                                                               
            (if (null? #{m2 31127}#)
+                                                                               
              #{s1 31112}#
                                                                                
              (append
-                                                                               
                #{s1 30802}#
-                                                                               
                #{m2 30817}#)))))
-                                                                               
  (cons (let ((#{m2 30825}#
-                                                                               
                (car #{w2 30800}#)))
-                                                                               
          (if (null? #{m2 30825}#)
-                                                                               
            #{m1 30801}#
+                                                                               
                #{s1 31112}#
+                                                                               
                #{m2 31127}#)))))
+                                                                               
  (cons (let ((#{m2 31135}#
+                                                                               
                (car #{w2 31110}#)))
+                                                                               
          (if (null? #{m2 31135}#)
+                                                                               
            #{m1 31111}#
                                                                                
            (append
-                                                                               
              #{m1 30801}#
-                                                                               
              #{m2 30825}#)))
-                                                                               
        (let ((#{m2 30833}#
-                                                                               
                (cdr #{w2 30800}#)))
-                                                                               
          (if (null? #{m2 30833}#)
-                                                                               
            #{s1 30802}#
+                                                                               
              #{m1 31111}#
+                                                                               
              #{m2 31135}#)))
+                                                                               
        (let ((#{m2 31143}#
+                                                                               
                (cdr #{w2 31110}#)))
+                                                                               
          (if (null? #{m2 31143}#)
+                                                                               
            #{s1 31112}#
                                                                                
            (append
-                                                                               
              #{s1 30802}#
-                                                                               
              #{m2 30833}#))))))))
-                                                                         
(#{module 30793}#
+                                                                               
              #{s1 31112}#
+                                                                               
              #{m2 31143}#))))))))
+                                                                         
(#{module 31103}#
                                                                            
(vector-ref
-                                                                             
#{x 30759}#
+                                                                             
#{x 31069}#
                                                                              
3)))
                                                                      (vector
                                                                        
'syntax-object
-                                                                       
#{expression 30791}#
-                                                                       #{wrap 
30792}#
-                                                                       
#{module 30793}#))
-                                                                   (if (null? 
#{x 30759}#)
-                                                                     #{x 
30759}#
+                                                                       
#{expression 31101}#
+                                                                       #{wrap 
31102}#
+                                                                       
#{module 31103}#))
+                                                                   (if (null? 
#{x 31069}#)
+                                                                     #{x 
31069}#
                                                                      (vector
                                                                        
'syntax-object
-                                                                       #{x 
30759}#
-                                                                       #{w 
28623}#
-                                                                       #{mod 
28625}#))))))
-                                                       (cdr #{body 
28406}#))))))))))))))))))
-               (#{parse 28298}#
-                 (map (lambda (#{x 28301}#)
-                        (cons #{r 28295}#
-                              (if (if (null? (car #{w 28297}#))
-                                    (null? (cdr #{w 28297}#))
+                                                                       #{x 
31069}#
+                                                                       #{w 
28933}#
+                                                                       #{mod 
28935}#))))))
+                                                       (cdr #{body 
28716}#))))))))))))))))))
+               (#{parse 28608}#
+                 (map (lambda (#{x 28611}#)
+                        (cons #{r 28605}#
+                              (if (if (null? (car #{w 28607}#))
+                                    (null? (cdr #{w 28607}#))
                                     #f)
-                                #{x 28301}#
-                                (if (if (vector? #{x 28301}#)
-                                      (if (= (vector-length #{x 28301}#) 4)
-                                        (eq? (vector-ref #{x 28301}# 0)
+                                #{x 28611}#
+                                (if (if (vector? #{x 28611}#)
+                                      (if (= (vector-length #{x 28611}#) 4)
+                                        (eq? (vector-ref #{x 28611}# 0)
                                              'syntax-object)
                                         #f)
                                       #f)
-                                  (let ((#{expression 28337}#
-                                          (vector-ref #{x 28301}# 1))
-                                        (#{wrap 28338}#
-                                          (let ((#{w2 28348}#
-                                                  (vector-ref #{x 28301}# 2)))
-                                            (let ((#{m1 28349}#
-                                                    (car #{w 28297}#))
-                                                  (#{s1 28350}#
-                                                    (cdr #{w 28297}#)))
-                                              (if (null? #{m1 28349}#)
-                                                (if (null? #{s1 28350}#)
-                                                  #{w2 28348}#
-                                                  (cons (car #{w2 28348}#)
-                                                        (let ((#{m2 28367}#
-                                                                (cdr #{w2 
28348}#)))
-                                                          (if (null? #{m2 
28367}#)
-                                                            #{s1 28350}#
+                                  (let ((#{expression 28647}#
+                                          (vector-ref #{x 28611}# 1))
+                                        (#{wrap 28648}#
+                                          (let ((#{w2 28658}#
+                                                  (vector-ref #{x 28611}# 2)))
+                                            (let ((#{m1 28659}#
+                                                    (car #{w 28607}#))
+                                                  (#{s1 28660}#
+                                                    (cdr #{w 28607}#)))
+                                              (if (null? #{m1 28659}#)
+                                                (if (null? #{s1 28660}#)
+                                                  #{w2 28658}#
+                                                  (cons (car #{w2 28658}#)
+                                                        (let ((#{m2 28677}#
+                                                                (cdr #{w2 
28658}#)))
+                                                          (if (null? #{m2 
28677}#)
+                                                            #{s1 28660}#
                                                             (append
-                                                              #{s1 28350}#
-                                                              #{m2 28367}#)))))
-                                                (cons (let ((#{m2 28375}#
-                                                              (car #{w2 
28348}#)))
-                                                        (if (null? #{m2 
28375}#)
-                                                          #{m1 28349}#
+                                                              #{s1 28660}#
+                                                              #{m2 28677}#)))))
+                                                (cons (let ((#{m2 28685}#
+                                                              (car #{w2 
28658}#)))
+                                                        (if (null? #{m2 
28685}#)
+                                                          #{m1 28659}#
                                                           (append
-                                                            #{m1 28349}#
-                                                            #{m2 28375}#)))
-                                                      (let ((#{m2 28383}#
-                                                              (cdr #{w2 
28348}#)))
-                                                        (if (null? #{m2 
28383}#)
-                                                          #{s1 28350}#
+                                                            #{m1 28659}#
+                                                            #{m2 28685}#)))
+                                                      (let ((#{m2 28693}#
+                                                              (cdr #{w2 
28658}#)))
+                                                        (if (null? #{m2 
28693}#)
+                                                          #{s1 28660}#
                                                           (append
-                                                            #{s1 28350}#
-                                                            #{m2 
28383}#))))))))
-                                        (#{module 28339}#
-                                          (vector-ref #{x 28301}# 3)))
+                                                            #{s1 28660}#
+                                                            #{m2 
28693}#))))))))
+                                        (#{module 28649}#
+                                          (vector-ref #{x 28611}# 3)))
                                     (vector
                                       'syntax-object
-                                      #{expression 28337}#
-                                      #{wrap 28338}#
-                                      #{module 28339}#))
-                                  (if (null? #{x 28301}#)
-                                    #{x 28301}#
+                                      #{expression 28647}#
+                                      #{wrap 28648}#
+                                      #{module 28649}#))
+                                  (if (null? #{x 28611}#)
+                                    #{x 28611}#
                                     (vector
                                       'syntax-object
-                                      #{x 28301}#
-                                      #{w 28297}#
-                                      #{mod 28294}#))))))
-                      #{body 28290}#)
+                                      #{x 28611}#
+                                      #{w 28607}#
+                                      #{mod 28604}#))))))
+                      #{body 28600}#)
                  '()
                  '()
                  '()
                  '()
                  '()
                  '())))))))
-   (#{chi-local-syntax 4451}#
-     (lambda (#{rec? 30848}#
-              #{e 30849}#
-              #{r 30850}#
-              #{w 30851}#
-              #{s 30852}#
-              #{mod 30853}#
-              #{k 30854}#)
-       (let ((#{tmp 30856}#
+   (#{expand-local-syntax 4448}#
+     (lambda (#{rec? 31158}#
+              #{e 31159}#
+              #{r 31160}#
+              #{w 31161}#
+              #{s 31162}#
+              #{mod 31163}#
+              #{k 31164}#)
+       (let ((#{tmp 31166}#
                ($sc-dispatch
-                 #{e 30849}#
+                 #{e 31159}#
                  '(_ #(each (any any)) any . each-any))))
-         (if #{tmp 30856}#
+         (if #{tmp 31166}#
            (@apply
-             (lambda (#{id 30860}#
-                      #{val 30861}#
-                      #{e1 30862}#
-                      #{e2 30863}#)
-               (if (not (#{valid-bound-ids? 4436}# #{id 30860}#))
+             (lambda (#{id 31170}#
+                      #{val 31171}#
+                      #{e1 31172}#
+                      #{e2 31173}#)
+               (if (not (#{valid-bound-ids? 4433}# #{id 31170}#))
                  (syntax-violation
                    #f
                    "duplicate bound keyword"
-                   #{e 30849}#)
-                 (let ((#{labels 30960}#
-                         (#{gen-labels 4416}# #{id 30860}#)))
-                   (let ((#{new-w 30961}#
-                           (#{make-binding-wrap 4427}#
-                             #{id 30860}#
-                             #{labels 30960}#
-                             #{w 30851}#)))
-                     (#{k 30854}#
-                       (cons #{e1 30862}# #{e2 30863}#)
-                       (#{extend-env 4408}#
-                         #{labels 30960}#
-                         (let ((#{trans-r 31001}#
-                                 (#{macros-only-env 4410}# #{r 30850}#)))
+                   #{e 31159}#)
+                 (let ((#{labels 31270}#
+                         (#{gen-labels 4413}# #{id 31170}#)))
+                   (let ((#{new-w 31271}#
+                           (#{make-binding-wrap 4424}#
+                             #{id 31170}#
+                             #{labels 31270}#
+                             #{w 31161}#)))
+                     (#{k 31164}#
+                       (cons #{e1 31172}# #{e2 31173}#)
+                       (#{extend-env 4405}#
+                         #{labels 31270}#
+                         (let ((#{trans-r 31311}#
+                                 (#{macros-only-env 4407}# #{r 31160}#)))
                            (begin
-                             (if #{rec? 30848}# (if #f #f))
-                             (map (lambda (#{x 31002}#)
+                             (if #{rec? 31158}# (if #f #f))
+                             (map (lambda (#{x 31312}#)
                                     (cons 'macro
-                                          (#{eval-local-transformer 4452}#
-                                            (#{chi 4446}#
-                                              #{x 31002}#
-                                              #{trans-r 31001}#
-                                              (if #{rec? 30848}#
-                                                #{new-w 30961}#
-                                                #{w 30851}#)
-                                              #{mod 30853}#)
-                                            #{mod 30853}#)))
-                                  #{val 30861}#)))
-                         #{r 30850}#)
-                       #{new-w 30961}#
-                       #{s 30852}#
-                       #{mod 30853}#)))))
-             #{tmp 30856}#)
+                                          (#{eval-local-transformer 4449}#
+                                            (#{expand 4443}#
+                                              #{x 31312}#
+                                              #{trans-r 31311}#
+                                              (if #{rec? 31158}#
+                                                #{new-w 31271}#
+                                                #{w 31161}#)
+                                              #{mod 31163}#)
+                                            #{mod 31163}#)))
+                                  #{val 31171}#)))
+                         #{r 31160}#)
+                       #{new-w 31271}#
+                       #{s 31162}#
+                       #{mod 31163}#)))))
+             #{tmp 31166}#)
            (syntax-violation
              #f
              "bad local syntax definition"
-             (let ((#{x 31335}#
+             (let ((#{x 31645}#
                      (begin
-                       (if (if (pair? #{e 30849}#) #{s 30852}# #f)
-                         (set-source-properties! #{e 30849}# #{s 30852}#))
-                       #{e 30849}#)))
-               (if (if (null? (car #{w 30851}#))
-                     (null? (cdr #{w 30851}#))
+                       (if (if (pair? #{e 31159}#) #{s 31162}# #f)
+                         (set-source-properties! #{e 31159}# #{s 31162}#))
+                       #{e 31159}#)))
+               (if (if (null? (car #{w 31161}#))
+                     (null? (cdr #{w 31161}#))
                      #f)
-                 #{x 31335}#
-                 (if (if (vector? #{x 31335}#)
-                       (if (= (vector-length #{x 31335}#) 4)
-                         (eq? (vector-ref #{x 31335}# 0) 'syntax-object)
+                 #{x 31645}#
+                 (if (if (vector? #{x 31645}#)
+                       (if (= (vector-length #{x 31645}#) 4)
+                         (eq? (vector-ref #{x 31645}# 0) 'syntax-object)
                          #f)
                        #f)
-                   (let ((#{expression 31367}# (vector-ref #{x 31335}# 1))
-                         (#{wrap 31368}#
-                           (let ((#{w2 31376}# (vector-ref #{x 31335}# 2)))
-                             (let ((#{m1 31377}# (car #{w 30851}#))
-                                   (#{s1 31378}# (cdr #{w 30851}#)))
-                               (if (null? #{m1 31377}#)
-                                 (if (null? #{s1 31378}#)
-                                   #{w2 31376}#
-                                   (cons (car #{w2 31376}#)
-                                         (let ((#{m2 31393}#
-                                                 (cdr #{w2 31376}#)))
-                                           (if (null? #{m2 31393}#)
-                                             #{s1 31378}#
+                   (let ((#{expression 31677}# (vector-ref #{x 31645}# 1))
+                         (#{wrap 31678}#
+                           (let ((#{w2 31686}# (vector-ref #{x 31645}# 2)))
+                             (let ((#{m1 31687}# (car #{w 31161}#))
+                                   (#{s1 31688}# (cdr #{w 31161}#)))
+                               (if (null? #{m1 31687}#)
+                                 (if (null? #{s1 31688}#)
+                                   #{w2 31686}#
+                                   (cons (car #{w2 31686}#)
+                                         (let ((#{m2 31703}#
+                                                 (cdr #{w2 31686}#)))
+                                           (if (null? #{m2 31703}#)
+                                             #{s1 31688}#
                                              (append
-                                               #{s1 31378}#
-                                               #{m2 31393}#)))))
-                                 (cons (let ((#{m2 31401}# (car #{w2 31376}#)))
-                                         (if (null? #{m2 31401}#)
-                                           #{m1 31377}#
-                                           (append #{m1 31377}# #{m2 31401}#)))
-                                       (let ((#{m2 31409}# (cdr #{w2 31376}#)))
-                                         (if (null? #{m2 31409}#)
-                                           #{s1 31378}#
+                                               #{s1 31688}#
+                                               #{m2 31703}#)))))
+                                 (cons (let ((#{m2 31711}# (car #{w2 31686}#)))
+                                         (if (null? #{m2 31711}#)
+                                           #{m1 31687}#
+                                           (append #{m1 31687}# #{m2 31711}#)))
+                                       (let ((#{m2 31719}# (cdr #{w2 31686}#)))
+                                         (if (null? #{m2 31719}#)
+                                           #{s1 31688}#
                                            (append
-                                             #{s1 31378}#
-                                             #{m2 31409}#))))))))
-                         (#{module 31369}# (vector-ref #{x 31335}# 3)))
+                                             #{s1 31688}#
+                                             #{m2 31719}#))))))))
+                         (#{module 31679}# (vector-ref #{x 31645}# 3)))
                      (vector
                        'syntax-object
-                       #{expression 31367}#
-                       #{wrap 31368}#
-                       #{module 31369}#))
-                   (if (null? #{x 31335}#)
-                     #{x 31335}#
+                       #{expression 31677}#
+                       #{wrap 31678}#
+                       #{module 31679}#))
+                   (if (null? #{x 31645}#)
+                     #{x 31645}#
                      (vector
                        'syntax-object
-                       #{x 31335}#
-                       #{w 30851}#
-                       #{mod 30853}#))))))))))
-   (#{eval-local-transformer 4452}#
-     (lambda (#{expanded 31427}# #{mod 31428}#)
-       (let ((#{p 31429}# (primitive-eval #{expanded 31427}#)))
-         (if (procedure? #{p 31429}#)
-           #{p 31429}#
+                       #{x 31645}#
+                       #{w 31161}#
+                       #{mod 31163}#))))))))))
+   (#{eval-local-transformer 4449}#
+     (lambda (#{expanded 31737}# #{mod 31738}#)
+       (let ((#{p 31739}# (primitive-eval #{expanded 31737}#)))
+         (if (procedure? #{p 31739}#)
+           #{p 31739}#
            (syntax-violation
              #f
              "nonprocedure transformer"
-             #{p 31429}#)))))
-   (#{ellipsis? 4454}#
-     (lambda (#{x 6023}#)
-       (if (if (if (vector? #{x 6023}#)
-                 (if (= (vector-length #{x 6023}#) 4)
-                   (eq? (vector-ref #{x 6023}# 0) 'syntax-object)
+             #{p 31739}#)))))
+   (#{ellipsis? 4451}#
+     (lambda (#{x 6020}#)
+       (if (if (if (vector? #{x 6020}#)
+                 (if (= (vector-length #{x 6020}#) 4)
+                   (eq? (vector-ref #{x 6020}# 0) 'syntax-object)
                    #f)
                  #f)
-             (symbol? (vector-ref #{x 6023}# 1))
+             (symbol? (vector-ref #{x 6020}# 1))
              #f)
-         (#{free-id=? 4434}#
-           #{x 6023}#
+         (#{free-id=? 4431}#
+           #{x 6020}#
            '#(syntax-object
               ...
               ((top)
                #(ribcage () () ())
                #(ribcage () () ())
-               #(ribcage #(x) #((top)) #("i2341"))
+               #(ribcage #(x) #((top)) #("i2338"))
                #(ribcage
                  (lambda-var-list
                    gen-var
                    strip
-                   chi-lambda-case
+                   expand-lambda-case
                    lambda*-formals
-                   chi-simple-lambda
+                   expand-simple-lambda
                    lambda-formals
                    ellipsis?
-                   chi-void
+                   expand-void
                    eval-local-transformer
-                   chi-local-syntax
-                   chi-body
-                   chi-macro
-                   chi-call
-                   chi-expr
-                   chi
+                   expand-local-syntax
+                   expand-body
+                   expand-macro
+                   expand-call
+                   expand-expr
+                   expand
                    syntax-type
-                   chi-when-list
-                   chi-install-global
-                   chi-top-sequence
-                   chi-sequence
+                   parse-when-list
+                   expand-install-global
+                   expand-top-sequence
+                   expand-sequence
                    source-wrap
                    wrap
                    bound-id-member?
@@ -6703,372 +6639,372 @@
                #(ribcage () () ()))
               (hygiene guile)))
          #f)))
-   (#{lambda-formals 4455}#
-     (lambda (#{orig-args 31434}#)
+   (#{lambda-formals 4452}#
+     (lambda (#{orig-args 31744}#)
        (letrec*
-         ((#{req 31435}#
-            (lambda (#{args 31439}# #{rreq 31440}#)
-              (let ((#{tmp 31442}# ($sc-dispatch #{args 31439}# '())))
-                (if #{tmp 31442}#
+         ((#{req 31745}#
+            (lambda (#{args 31749}# #{rreq 31750}#)
+              (let ((#{tmp 31752}# ($sc-dispatch #{args 31749}# '())))
+                (if #{tmp 31752}#
                   (@apply
                     (lambda ()
-                      (#{check 31436}# (reverse #{rreq 31440}#) #f))
-                    #{tmp 31442}#)
-                  (let ((#{tmp 31558}#
-                          ($sc-dispatch #{args 31439}# '(any . any))))
-                    (if (if #{tmp 31558}#
+                      (#{check 31746}# (reverse #{rreq 31750}#) #f))
+                    #{tmp 31752}#)
+                  (let ((#{tmp 31868}#
+                          ($sc-dispatch #{args 31749}# '(any . any))))
+                    (if (if #{tmp 31868}#
                           (@apply
-                            (lambda (#{a 31562}# #{b 31563}#)
-                              (if (symbol? #{a 31562}#)
+                            (lambda (#{a 31872}# #{b 31873}#)
+                              (if (symbol? #{a 31872}#)
                                 #t
-                                (if (if (vector? #{a 31562}#)
-                                      (if (= (vector-length #{a 31562}#) 4)
-                                        (eq? (vector-ref #{a 31562}# 0)
+                                (if (if (vector? #{a 31872}#)
+                                      (if (= (vector-length #{a 31872}#) 4)
+                                        (eq? (vector-ref #{a 31872}# 0)
                                              'syntax-object)
                                         #f)
                                       #f)
-                                  (symbol? (vector-ref #{a 31562}# 1))
+                                  (symbol? (vector-ref #{a 31872}# 1))
                                   #f)))
-                            #{tmp 31558}#)
+                            #{tmp 31868}#)
                           #f)
                       (@apply
-                        (lambda (#{a 31590}# #{b 31591}#)
-                          (#{req 31435}#
-                            #{b 31591}#
-                            (cons #{a 31590}# #{rreq 31440}#)))
-                        #{tmp 31558}#)
-                      (let ((#{tmp 31592}# (list #{args 31439}#)))
+                        (lambda (#{a 31900}# #{b 31901}#)
+                          (#{req 31745}#
+                            #{b 31901}#
+                            (cons #{a 31900}# #{rreq 31750}#)))
+                        #{tmp 31868}#)
+                      (let ((#{tmp 31902}# (list #{args 31749}#)))
                         (if (@apply
-                              (lambda (#{r 31594}#)
-                                (if (symbol? #{r 31594}#)
+                              (lambda (#{r 31904}#)
+                                (if (symbol? #{r 31904}#)
                                   #t
-                                  (if (if (vector? #{r 31594}#)
-                                        (if (= (vector-length #{r 31594}#) 4)
-                                          (eq? (vector-ref #{r 31594}# 0)
+                                  (if (if (vector? #{r 31904}#)
+                                        (if (= (vector-length #{r 31904}#) 4)
+                                          (eq? (vector-ref #{r 31904}# 0)
                                                'syntax-object)
                                           #f)
                                         #f)
-                                    (symbol? (vector-ref #{r 31594}# 1))
+                                    (symbol? (vector-ref #{r 31904}# 1))
                                     #f)))
-                              #{tmp 31592}#)
+                              #{tmp 31902}#)
                           (@apply
-                            (lambda (#{r 31624}#)
-                              (#{check 31436}#
-                                (reverse #{rreq 31440}#)
-                                #{r 31624}#))
-                            #{tmp 31592}#)
+                            (lambda (#{r 31934}#)
+                              (#{check 31746}#
+                                (reverse #{rreq 31750}#)
+                                #{r 31934}#))
+                            #{tmp 31902}#)
                           (syntax-violation
                             'lambda
                             "invalid argument list"
-                            #{orig-args 31434}#
-                            #{args 31439}#)))))))))
-          (#{check 31436}#
-            (lambda (#{req 31748}# #{rest 31749}#)
-              (if (#{distinct-bound-ids? 4437}#
-                    (if #{rest 31749}#
-                      (cons #{rest 31749}# #{req 31748}#)
-                      #{req 31748}#))
-                (values #{req 31748}# #f #{rest 31749}# #f)
+                            #{orig-args 31744}#
+                            #{args 31749}#)))))))))
+          (#{check 31746}#
+            (lambda (#{req 32058}# #{rest 32059}#)
+              (if (#{distinct-bound-ids? 4434}#
+                    (if #{rest 32059}#
+                      (cons #{rest 32059}# #{req 32058}#)
+                      #{req 32058}#))
+                (values #{req 32058}# #f #{rest 32059}# #f)
                 (syntax-violation
                   'lambda
                   "duplicate identifier in argument list"
-                  #{orig-args 31434}#)))))
-         (#{req 31435}# #{orig-args 31434}# '()))))
-   (#{chi-simple-lambda 4456}#
-     (lambda (#{e 31858}#
-              #{r 31859}#
-              #{w 31860}#
-              #{s 31861}#
-              #{mod 31862}#
-              #{req 31863}#
-              #{rest 31864}#
-              #{meta 31865}#
-              #{body 31866}#)
-       (let ((#{ids 31867}#
-               (if #{rest 31864}#
-                 (append #{req 31863}# (list #{rest 31864}#))
-                 #{req 31863}#)))
-         (let ((#{vars 31868}#
-                 (map #{gen-var 4460}# #{ids 31867}#)))
-           (let ((#{labels 31869}#
-                   (#{gen-labels 4416}# #{ids 31867}#)))
-             (#{build-simple-lambda 4389}#
-               #{s 31861}#
-               (map syntax->datum #{req 31863}#)
-               (if #{rest 31864}#
-                 (syntax->datum #{rest 31864}#)
+                  #{orig-args 31744}#)))))
+         (#{req 31745}# #{orig-args 31744}# '()))))
+   (#{expand-simple-lambda 4453}#
+     (lambda (#{e 32168}#
+              #{r 32169}#
+              #{w 32170}#
+              #{s 32171}#
+              #{mod 32172}#
+              #{req 32173}#
+              #{rest 32174}#
+              #{meta 32175}#
+              #{body 32176}#)
+       (let ((#{ids 32177}#
+               (if #{rest 32174}#
+                 (append #{req 32173}# (list #{rest 32174}#))
+                 #{req 32173}#)))
+         (let ((#{vars 32178}#
+                 (map #{gen-var 4457}# #{ids 32177}#)))
+           (let ((#{labels 32179}#
+                   (#{gen-labels 4413}# #{ids 32177}#)))
+             (#{build-simple-lambda 4386}#
+               #{s 32171}#
+               (map syntax->datum #{req 32173}#)
+               (if #{rest 32174}#
+                 (syntax->datum #{rest 32174}#)
                  #f)
-               #{vars 31868}#
-               #{meta 31865}#
-               (#{chi-body 4450}#
-                 #{body 31866}#
-                 (let ((#{x 32058}#
+               #{vars 32178}#
+               #{meta 32175}#
+               (#{expand-body 4447}#
+                 #{body 32176}#
+                 (let ((#{x 32368}#
                          (begin
-                           (if (if (pair? #{e 31858}#) #{s 31861}# #f)
-                             (set-source-properties! #{e 31858}# #{s 31861}#))
-                           #{e 31858}#)))
-                   (if (if (null? (car #{w 31860}#))
-                         (null? (cdr #{w 31860}#))
+                           (if (if (pair? #{e 32168}#) #{s 32171}# #f)
+                             (set-source-properties! #{e 32168}# #{s 32171}#))
+                           #{e 32168}#)))
+                   (if (if (null? (car #{w 32170}#))
+                         (null? (cdr #{w 32170}#))
                          #f)
-                     #{x 32058}#
-                     (if (if (vector? #{x 32058}#)
-                           (if (= (vector-length #{x 32058}#) 4)
-                             (eq? (vector-ref #{x 32058}# 0) 'syntax-object)
+                     #{x 32368}#
+                     (if (if (vector? #{x 32368}#)
+                           (if (= (vector-length #{x 32368}#) 4)
+                             (eq? (vector-ref #{x 32368}# 0) 'syntax-object)
                              #f)
                            #f)
-                       (let ((#{expression 32090}# (vector-ref #{x 32058}# 1))
-                             (#{wrap 32091}#
-                               (let ((#{w2 32099}# (vector-ref #{x 32058}# 2)))
-                                 (let ((#{m1 32100}# (car #{w 31860}#))
-                                       (#{s1 32101}# (cdr #{w 31860}#)))
-                                   (if (null? #{m1 32100}#)
-                                     (if (null? #{s1 32101}#)
-                                       #{w2 32099}#
-                                       (cons (car #{w2 32099}#)
-                                             (let ((#{m2 32116}#
-                                                     (cdr #{w2 32099}#)))
-                                               (if (null? #{m2 32116}#)
-                                                 #{s1 32101}#
+                       (let ((#{expression 32400}# (vector-ref #{x 32368}# 1))
+                             (#{wrap 32401}#
+                               (let ((#{w2 32409}# (vector-ref #{x 32368}# 2)))
+                                 (let ((#{m1 32410}# (car #{w 32170}#))
+                                       (#{s1 32411}# (cdr #{w 32170}#)))
+                                   (if (null? #{m1 32410}#)
+                                     (if (null? #{s1 32411}#)
+                                       #{w2 32409}#
+                                       (cons (car #{w2 32409}#)
+                                             (let ((#{m2 32426}#
+                                                     (cdr #{w2 32409}#)))
+                                               (if (null? #{m2 32426}#)
+                                                 #{s1 32411}#
                                                  (append
-                                                   #{s1 32101}#
-                                                   #{m2 32116}#)))))
-                                     (cons (let ((#{m2 32124}#
-                                                   (car #{w2 32099}#)))
-                                             (if (null? #{m2 32124}#)
-                                               #{m1 32100}#
+                                                   #{s1 32411}#
+                                                   #{m2 32426}#)))))
+                                     (cons (let ((#{m2 32434}#
+                                                   (car #{w2 32409}#)))
+                                             (if (null? #{m2 32434}#)
+                                               #{m1 32410}#
                                                (append
-                                                 #{m1 32100}#
-                                                 #{m2 32124}#)))
-                                           (let ((#{m2 32132}#
-                                                   (cdr #{w2 32099}#)))
-                                             (if (null? #{m2 32132}#)
-                                               #{s1 32101}#
+                                                 #{m1 32410}#
+                                                 #{m2 32434}#)))
+                                           (let ((#{m2 32442}#
+                                                   (cdr #{w2 32409}#)))
+                                             (if (null? #{m2 32442}#)
+                                               #{s1 32411}#
                                                (append
-                                                 #{s1 32101}#
-                                                 #{m2 32132}#))))))))
-                             (#{module 32092}# (vector-ref #{x 32058}# 3)))
+                                                 #{s1 32411}#
+                                                 #{m2 32442}#))))))))
+                             (#{module 32402}# (vector-ref #{x 32368}# 3)))
                          (vector
                            'syntax-object
-                           #{expression 32090}#
-                           #{wrap 32091}#
-                           #{module 32092}#))
-                       (if (null? #{x 32058}#)
-                         #{x 32058}#
+                           #{expression 32400}#
+                           #{wrap 32401}#
+                           #{module 32402}#))
+                       (if (null? #{x 32368}#)
+                         #{x 32368}#
                          (vector
                            'syntax-object
-                           #{x 32058}#
-                           #{w 31860}#
-                           #{mod 31862}#)))))
-                 (#{extend-var-env 4409}#
-                   #{labels 31869}#
-                   #{vars 31868}#
-                   #{r 31859}#)
-                 (#{make-binding-wrap 4427}#
-                   #{ids 31867}#
-                   #{labels 31869}#
-                   #{w 31860}#)
-                 #{mod 31862}#)))))))
-   (#{lambda*-formals 4457}#
-     (lambda (#{orig-args 32363}#)
+                           #{x 32368}#
+                           #{w 32170}#
+                           #{mod 32172}#)))))
+                 (#{extend-var-env 4406}#
+                   #{labels 32179}#
+                   #{vars 32178}#
+                   #{r 32169}#)
+                 (#{make-binding-wrap 4424}#
+                   #{ids 32177}#
+                   #{labels 32179}#
+                   #{w 32170}#)
+                 #{mod 32172}#)))))))
+   (#{lambda*-formals 4454}#
+     (lambda (#{orig-args 32673}#)
        (letrec*
-         ((#{req 32364}#
-            (lambda (#{args 32371}# #{rreq 32372}#)
-              (let ((#{tmp 32374}# ($sc-dispatch #{args 32371}# '())))
-                (if #{tmp 32374}#
+         ((#{req 32674}#
+            (lambda (#{args 32681}# #{rreq 32682}#)
+              (let ((#{tmp 32684}# ($sc-dispatch #{args 32681}# '())))
+                (if #{tmp 32684}#
                   (@apply
                     (lambda ()
-                      (#{check 32368}#
-                        (reverse #{rreq 32372}#)
+                      (#{check 32678}#
+                        (reverse #{rreq 32682}#)
                         '()
                         #f
                         '()))
-                    #{tmp 32374}#)
-                  (let ((#{tmp 32493}#
-                          ($sc-dispatch #{args 32371}# '(any . any))))
-                    (if (if #{tmp 32493}#
+                    #{tmp 32684}#)
+                  (let ((#{tmp 32803}#
+                          ($sc-dispatch #{args 32681}# '(any . any))))
+                    (if (if #{tmp 32803}#
                           (@apply
-                            (lambda (#{a 32497}# #{b 32498}#)
-                              (if (symbol? #{a 32497}#)
+                            (lambda (#{a 32807}# #{b 32808}#)
+                              (if (symbol? #{a 32807}#)
                                 #t
-                                (if (if (vector? #{a 32497}#)
-                                      (if (= (vector-length #{a 32497}#) 4)
-                                        (eq? (vector-ref #{a 32497}# 0)
+                                (if (if (vector? #{a 32807}#)
+                                      (if (= (vector-length #{a 32807}#) 4)
+                                        (eq? (vector-ref #{a 32807}# 0)
                                              'syntax-object)
                                         #f)
                                       #f)
-                                  (symbol? (vector-ref #{a 32497}# 1))
+                                  (symbol? (vector-ref #{a 32807}# 1))
                                   #f)))
-                            #{tmp 32493}#)
+                            #{tmp 32803}#)
                           #f)
                       (@apply
-                        (lambda (#{a 32525}# #{b 32526}#)
-                          (#{req 32364}#
-                            #{b 32526}#
-                            (cons #{a 32525}# #{rreq 32372}#)))
-                        #{tmp 32493}#)
-                      (let ((#{tmp 32527}#
-                              ($sc-dispatch #{args 32371}# '(any . any))))
-                        (if (if #{tmp 32527}#
+                        (lambda (#{a 32835}# #{b 32836}#)
+                          (#{req 32674}#
+                            #{b 32836}#
+                            (cons #{a 32835}# #{rreq 32682}#)))
+                        #{tmp 32803}#)
+                      (let ((#{tmp 32837}#
+                              ($sc-dispatch #{args 32681}# '(any . any))))
+                        (if (if #{tmp 32837}#
                               (@apply
-                                (lambda (#{a 32531}# #{b 32532}#)
-                                  (eq? (syntax->datum #{a 32531}#) #:optional))
-                                #{tmp 32527}#)
+                                (lambda (#{a 32841}# #{b 32842}#)
+                                  (eq? (syntax->datum #{a 32841}#) #:optional))
+                                #{tmp 32837}#)
                               #f)
                           (@apply
-                            (lambda (#{a 32533}# #{b 32534}#)
-                              (#{opt 32365}#
-                                #{b 32534}#
-                                (reverse #{rreq 32372}#)
+                            (lambda (#{a 32843}# #{b 32844}#)
+                              (#{opt 32675}#
+                                #{b 32844}#
+                                (reverse #{rreq 32682}#)
                                 '()))
-                            #{tmp 32527}#)
-                          (let ((#{tmp 32537}#
-                                  ($sc-dispatch #{args 32371}# '(any . any))))
-                            (if (if #{tmp 32537}#
+                            #{tmp 32837}#)
+                          (let ((#{tmp 32847}#
+                                  ($sc-dispatch #{args 32681}# '(any . any))))
+                            (if (if #{tmp 32847}#
                                   (@apply
-                                    (lambda (#{a 32541}# #{b 32542}#)
-                                      (eq? (syntax->datum #{a 32541}#) #:key))
-                                    #{tmp 32537}#)
+                                    (lambda (#{a 32851}# #{b 32852}#)
+                                      (eq? (syntax->datum #{a 32851}#) #:key))
+                                    #{tmp 32847}#)
                                   #f)
                               (@apply
-                                (lambda (#{a 32543}# #{b 32544}#)
-                                  (#{key 32366}#
-                                    #{b 32544}#
-                                    (reverse #{rreq 32372}#)
+                                (lambda (#{a 32853}# #{b 32854}#)
+                                  (#{key 32676}#
+                                    #{b 32854}#
+                                    (reverse #{rreq 32682}#)
                                     '()
                                     '()))
-                                #{tmp 32537}#)
-                              (let ((#{tmp 32547}#
+                                #{tmp 32847}#)
+                              (let ((#{tmp 32857}#
                                       ($sc-dispatch
-                                        #{args 32371}#
+                                        #{args 32681}#
                                         '(any any))))
-                                (if (if #{tmp 32547}#
+                                (if (if #{tmp 32857}#
                                       (@apply
-                                        (lambda (#{a 32551}# #{b 32552}#)
-                                          (eq? (syntax->datum #{a 32551}#)
+                                        (lambda (#{a 32861}# #{b 32862}#)
+                                          (eq? (syntax->datum #{a 32861}#)
                                                #:rest))
-                                        #{tmp 32547}#)
+                                        #{tmp 32857}#)
                                       #f)
                                   (@apply
-                                    (lambda (#{a 32553}# #{b 32554}#)
-                                      (#{rest 32367}#
-                                        #{b 32554}#
-                                        (reverse #{rreq 32372}#)
+                                    (lambda (#{a 32863}# #{b 32864}#)
+                                      (#{rest 32677}#
+                                        #{b 32864}#
+                                        (reverse #{rreq 32682}#)
                                         '()
                                         '()))
-                                    #{tmp 32547}#)
-                                  (let ((#{tmp 32557}# (list #{args 32371}#)))
+                                    #{tmp 32857}#)
+                                  (let ((#{tmp 32867}# (list #{args 32681}#)))
                                     (if (@apply
-                                          (lambda (#{r 32559}#)
-                                            (if (symbol? #{r 32559}#)
+                                          (lambda (#{r 32869}#)
+                                            (if (symbol? #{r 32869}#)
                                               #t
-                                              (if (if (vector? #{r 32559}#)
+                                              (if (if (vector? #{r 32869}#)
                                                     (if (= (vector-length
-                                                             #{r 32559}#)
+                                                             #{r 32869}#)
                                                            4)
                                                       (eq? (vector-ref
-                                                             #{r 32559}#
+                                                             #{r 32869}#
                                                              0)
                                                            'syntax-object)
                                                       #f)
                                                     #f)
                                                 (symbol?
-                                                  (vector-ref #{r 32559}# 1))
+                                                  (vector-ref #{r 32869}# 1))
                                                 #f)))
-                                          #{tmp 32557}#)
+                                          #{tmp 32867}#)
                                       (@apply
-                                        (lambda (#{r 32589}#)
-                                          (#{rest 32367}#
-                                            #{r 32589}#
-                                            (reverse #{rreq 32372}#)
+                                        (lambda (#{r 32899}#)
+                                          (#{rest 32677}#
+                                            #{r 32899}#
+                                            (reverse #{rreq 32682}#)
                                             '()
                                             '()))
-                                        #{tmp 32557}#)
+                                        #{tmp 32867}#)
                                       (syntax-violation
                                         'lambda*
                                         "invalid argument list"
-                                        #{orig-args 32363}#
-                                        #{args 32371}#)))))))))))))))
-          (#{opt 32365}#
-            (lambda (#{args 32608}# #{req 32609}# #{ropt 32610}#)
-              (let ((#{tmp 32612}# ($sc-dispatch #{args 32608}# '())))
-                (if #{tmp 32612}#
+                                        #{orig-args 32673}#
+                                        #{args 32681}#)))))))))))))))
+          (#{opt 32675}#
+            (lambda (#{args 32918}# #{req 32919}# #{ropt 32920}#)
+              (let ((#{tmp 32922}# ($sc-dispatch #{args 32918}# '())))
+                (if #{tmp 32922}#
                   (@apply
                     (lambda ()
-                      (#{check 32368}#
-                        #{req 32609}#
-                        (reverse #{ropt 32610}#)
+                      (#{check 32678}#
+                        #{req 32919}#
+                        (reverse #{ropt 32920}#)
                         #f
                         '()))
-                    #{tmp 32612}#)
-                  (let ((#{tmp 32733}#
-                          ($sc-dispatch #{args 32608}# '(any . any))))
-                    (if (if #{tmp 32733}#
+                    #{tmp 32922}#)
+                  (let ((#{tmp 33043}#
+                          ($sc-dispatch #{args 32918}# '(any . any))))
+                    (if (if #{tmp 33043}#
                           (@apply
-                            (lambda (#{a 32737}# #{b 32738}#)
-                              (if (symbol? #{a 32737}#)
+                            (lambda (#{a 33047}# #{b 33048}#)
+                              (if (symbol? #{a 33047}#)
                                 #t
-                                (if (if (vector? #{a 32737}#)
-                                      (if (= (vector-length #{a 32737}#) 4)
-                                        (eq? (vector-ref #{a 32737}# 0)
+                                (if (if (vector? #{a 33047}#)
+                                      (if (= (vector-length #{a 33047}#) 4)
+                                        (eq? (vector-ref #{a 33047}# 0)
                                              'syntax-object)
                                         #f)
                                       #f)
-                                  (symbol? (vector-ref #{a 32737}# 1))
+                                  (symbol? (vector-ref #{a 33047}# 1))
                                   #f)))
-                            #{tmp 32733}#)
+                            #{tmp 33043}#)
                           #f)
                       (@apply
-                        (lambda (#{a 32765}# #{b 32766}#)
-                          (#{opt 32365}#
-                            #{b 32766}#
-                            #{req 32609}#
-                            (cons (cons #{a 32765}#
+                        (lambda (#{a 33075}# #{b 33076}#)
+                          (#{opt 32675}#
+                            #{b 33076}#
+                            #{req 32919}#
+                            (cons (cons #{a 33075}#
                                         '(#(syntax-object
                                             #f
                                             ((top)
                                              #(ribcage
                                                #(a b)
                                                #((top) (top))
-                                               #("i2480" "i2481"))
+                                               #("i2477" "i2478"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(args req ropt)
                                                #((top) (top) (top))
-                                               #("i2470" "i2471" "i2472"))
+                                               #("i2467" "i2468" "i2469"))
                                              #(ribcage
                                                (check rest key opt req)
                                                ((top) (top) (top) (top) (top))
-                                               ("i2416"
-                                                "i2414"
-                                                "i2412"
-                                                "i2410"
-                                                "i2408"))
+                                               ("i2413"
+                                                "i2411"
+                                                "i2409"
+                                                "i2407"
+                                                "i2405"))
                                              #(ribcage
                                                #(orig-args)
                                                #((top))
-                                               #("i2407"))
+                                               #("i2404"))
                                              #(ribcage
                                                (lambda-var-list
                                                  gen-var
                                                  strip
-                                                 chi-lambda-case
+                                                 expand-lambda-case
                                                  lambda*-formals
-                                                 chi-simple-lambda
+                                                 expand-simple-lambda
                                                  lambda-formals
                                                  ellipsis?
-                                                 chi-void
+                                                 expand-void
                                                  eval-local-transformer
-                                                 chi-local-syntax
-                                                 chi-body
-                                                 chi-macro
-                                                 chi-call
-                                                 chi-expr
-                                                 chi
+                                                 expand-local-syntax
+                                                 expand-body
+                                                 expand-macro
+                                                 expand-call
+                                                 expand-expr
+                                                 expand
                                                  syntax-type
-                                                 chi-when-list
-                                                 chi-install-global
-                                                 chi-top-sequence
-                                                 chi-sequence
+                                                 parse-when-list
+                                                 expand-install-global
+                                                 expand-top-sequence
+                                                 expand-sequence
                                                  source-wrap
                                                  wrap
                                                  bound-id-member?
@@ -7470,147 +7406,147 @@
                                                ("i46" "i45" "i44"))
                                              #(ribcage () () ()))
                                             (hygiene guile))))
-                                  #{ropt 32610}#)))
-                        #{tmp 32733}#)
-                      (let ((#{tmp 32767}#
+                                  #{ropt 32920}#)))
+                        #{tmp 33043}#)
+                      (let ((#{tmp 33077}#
                               ($sc-dispatch
-                                #{args 32608}#
+                                #{args 32918}#
                                 '((any any) . any))))
-                        (if (if #{tmp 32767}#
+                        (if (if #{tmp 33077}#
                               (@apply
-                                (lambda (#{a 32771}#
-                                         #{init 32772}#
-                                         #{b 32773}#)
-                                  (if (symbol? #{a 32771}#)
+                                (lambda (#{a 33081}#
+                                         #{init 33082}#
+                                         #{b 33083}#)
+                                  (if (symbol? #{a 33081}#)
                                     #t
-                                    (if (if (vector? #{a 32771}#)
-                                          (if (= (vector-length #{a 32771}#) 4)
-                                            (eq? (vector-ref #{a 32771}# 0)
+                                    (if (if (vector? #{a 33081}#)
+                                          (if (= (vector-length #{a 33081}#) 4)
+                                            (eq? (vector-ref #{a 33081}# 0)
                                                  'syntax-object)
                                             #f)
                                           #f)
-                                      (symbol? (vector-ref #{a 32771}# 1))
+                                      (symbol? (vector-ref #{a 33081}# 1))
                                       #f)))
-                                #{tmp 32767}#)
+                                #{tmp 33077}#)
                               #f)
                           (@apply
-                            (lambda (#{a 32800}# #{init 32801}# #{b 32802}#)
-                              (#{opt 32365}#
-                                #{b 32802}#
-                                #{req 32609}#
-                                (cons (list #{a 32800}# #{init 32801}#)
-                                      #{ropt 32610}#)))
-                            #{tmp 32767}#)
-                          (let ((#{tmp 32803}#
-                                  ($sc-dispatch #{args 32608}# '(any . any))))
-                            (if (if #{tmp 32803}#
+                            (lambda (#{a 33110}# #{init 33111}# #{b 33112}#)
+                              (#{opt 32675}#
+                                #{b 33112}#
+                                #{req 32919}#
+                                (cons (list #{a 33110}# #{init 33111}#)
+                                      #{ropt 32920}#)))
+                            #{tmp 33077}#)
+                          (let ((#{tmp 33113}#
+                                  ($sc-dispatch #{args 32918}# '(any . any))))
+                            (if (if #{tmp 33113}#
                                   (@apply
-                                    (lambda (#{a 32807}# #{b 32808}#)
-                                      (eq? (syntax->datum #{a 32807}#) #:key))
-                                    #{tmp 32803}#)
+                                    (lambda (#{a 33117}# #{b 33118}#)
+                                      (eq? (syntax->datum #{a 33117}#) #:key))
+                                    #{tmp 33113}#)
                                   #f)
                               (@apply
-                                (lambda (#{a 32809}# #{b 32810}#)
-                                  (#{key 32366}#
-                                    #{b 32810}#
-                                    #{req 32609}#
-                                    (reverse #{ropt 32610}#)
+                                (lambda (#{a 33119}# #{b 33120}#)
+                                  (#{key 32676}#
+                                    #{b 33120}#
+                                    #{req 32919}#
+                                    (reverse #{ropt 32920}#)
                                     '()))
-                                #{tmp 32803}#)
-                              (let ((#{tmp 32813}#
+                                #{tmp 33113}#)
+                              (let ((#{tmp 33123}#
                                       ($sc-dispatch
-                                        #{args 32608}#
+                                        #{args 32918}#
                                         '(any any))))
-                                (if (if #{tmp 32813}#
+                                (if (if #{tmp 33123}#
                                       (@apply
-                                        (lambda (#{a 32817}# #{b 32818}#)
-                                          (eq? (syntax->datum #{a 32817}#)
+                                        (lambda (#{a 33127}# #{b 33128}#)
+                                          (eq? (syntax->datum #{a 33127}#)
                                                #:rest))
-                                        #{tmp 32813}#)
+                                        #{tmp 33123}#)
                                       #f)
                                   (@apply
-                                    (lambda (#{a 32819}# #{b 32820}#)
-                                      (#{rest 32367}#
-                                        #{b 32820}#
-                                        #{req 32609}#
-                                        (reverse #{ropt 32610}#)
+                                    (lambda (#{a 33129}# #{b 33130}#)
+                                      (#{rest 32677}#
+                                        #{b 33130}#
+                                        #{req 32919}#
+                                        (reverse #{ropt 32920}#)
                                         '()))
-                                    #{tmp 32813}#)
-                                  (let ((#{tmp 32823}# (list #{args 32608}#)))
+                                    #{tmp 33123}#)
+                                  (let ((#{tmp 33133}# (list #{args 32918}#)))
                                     (if (@apply
-                                          (lambda (#{r 32825}#)
-                                            (if (symbol? #{r 32825}#)
+                                          (lambda (#{r 33135}#)
+                                            (if (symbol? #{r 33135}#)
                                               #t
-                                              (if (if (vector? #{r 32825}#)
+                                              (if (if (vector? #{r 33135}#)
                                                     (if (= (vector-length
-                                                             #{r 32825}#)
+                                                             #{r 33135}#)
                                                            4)
                                                       (eq? (vector-ref
-                                                             #{r 32825}#
+                                                             #{r 33135}#
                                                              0)
                                                            'syntax-object)
                                                       #f)
                                                     #f)
                                                 (symbol?
-                                                  (vector-ref #{r 32825}# 1))
+                                                  (vector-ref #{r 33135}# 1))
                                                 #f)))
-                                          #{tmp 32823}#)
+                                          #{tmp 33133}#)
                                       (@apply
-                                        (lambda (#{r 32855}#)
-                                          (#{rest 32367}#
-                                            #{r 32855}#
-                                            #{req 32609}#
-                                            (reverse #{ropt 32610}#)
+                                        (lambda (#{r 33165}#)
+                                          (#{rest 32677}#
+                                            #{r 33165}#
+                                            #{req 32919}#
+                                            (reverse #{ropt 32920}#)
                                             '()))
-                                        #{tmp 32823}#)
+                                        #{tmp 33133}#)
                                       (syntax-violation
                                         'lambda*
                                         "invalid optional argument list"
-                                        #{orig-args 32363}#
-                                        #{args 32608}#)))))))))))))))
-          (#{key 32366}#
-            (lambda (#{args 32874}#
-                     #{req 32875}#
-                     #{opt 32876}#
-                     #{rkey 32877}#)
-              (let ((#{tmp 32879}# ($sc-dispatch #{args 32874}# '())))
-                (if #{tmp 32879}#
+                                        #{orig-args 32673}#
+                                        #{args 32918}#)))))))))))))))
+          (#{key 32676}#
+            (lambda (#{args 33184}#
+                     #{req 33185}#
+                     #{opt 33186}#
+                     #{rkey 33187}#)
+              (let ((#{tmp 33189}# ($sc-dispatch #{args 33184}# '())))
+                (if #{tmp 33189}#
                   (@apply
                     (lambda ()
-                      (#{check 32368}#
-                        #{req 32875}#
-                        #{opt 32876}#
+                      (#{check 32678}#
+                        #{req 33185}#
+                        #{opt 33186}#
                         #f
-                        (cons #f (reverse #{rkey 32877}#))))
-                    #{tmp 32879}#)
-                  (let ((#{tmp 33001}#
-                          ($sc-dispatch #{args 32874}# '(any . any))))
-                    (if (if #{tmp 33001}#
+                        (cons #f (reverse #{rkey 33187}#))))
+                    #{tmp 33189}#)
+                  (let ((#{tmp 33311}#
+                          ($sc-dispatch #{args 33184}# '(any . any))))
+                    (if (if #{tmp 33311}#
                           (@apply
-                            (lambda (#{a 33005}# #{b 33006}#)
-                              (if (symbol? #{a 33005}#)
+                            (lambda (#{a 33315}# #{b 33316}#)
+                              (if (symbol? #{a 33315}#)
                                 #t
-                                (if (if (vector? #{a 33005}#)
-                                      (if (= (vector-length #{a 33005}#) 4)
-                                        (eq? (vector-ref #{a 33005}# 0)
+                                (if (if (vector? #{a 33315}#)
+                                      (if (= (vector-length #{a 33315}#) 4)
+                                        (eq? (vector-ref #{a 33315}# 0)
                                              'syntax-object)
                                         #f)
                                       #f)
-                                  (symbol? (vector-ref #{a 33005}# 1))
+                                  (symbol? (vector-ref #{a 33315}# 1))
                                   #f)))
-                            #{tmp 33001}#)
+                            #{tmp 33311}#)
                           #f)
                       (@apply
-                        (lambda (#{a 33033}# #{b 33034}#)
-                          (let ((#{tmp 33035}#
+                        (lambda (#{a 33343}# #{b 33344}#)
+                          (let ((#{tmp 33345}#
                                   (symbol->keyword
-                                    (syntax->datum #{a 33033}#))))
-                            (#{key 32366}#
-                              #{b 33034}#
-                              #{req 32875}#
-                              #{opt 32876}#
-                              (cons (cons #{tmp 33035}#
-                                          (cons #{a 33033}#
+                                    (syntax->datum #{a 33343}#))))
+                            (#{key 32676}#
+                              #{b 33344}#
+                              #{req 33185}#
+                              #{opt 33186}#
+                              (cons (cons #{tmp 33345}#
+                                          (cons #{a 33343}#
                                                 '(#(syntax-object
                                                     #f
                                                     ((top)
@@ -7618,11 +7554,11 @@
                                                      #(ribcage
                                                        #(k)
                                                        #((top))
-                                                       #("i2543"))
+                                                       #("i2540"))
                                                      #(ribcage
                                                        #(a b)
                                                        #((top) (top))
-                                                       #("i2537" "i2538"))
+                                                       #("i2534" "i2535"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(args req opt rkey)
@@ -7630,10 +7566,10 @@
                                                          (top)
                                                          (top)
                                                          (top))
-                                                       #("i2526"
-                                                         "i2527"
-                                                         "i2528"
-                                                         "i2529"))
+                                                       #("i2523"
+                                                         "i2524"
+                                                         "i2525"
+                                                         "i2526"))
                                                      #(ribcage
                                                        (check rest key opt req)
                                                        ((top)
@@ -7641,37 +7577,37 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                       ("i2416"
-                                                        "i2414"
-                                                        "i2412"
-                                                        "i2410"
-                                                        "i2408"))
+                                                       ("i2413"
+                                                        "i2411"
+                                                        "i2409"
+                                                        "i2407"
+                                                        "i2405"))
                                                      #(ribcage
                                                        #(orig-args)
                                                        #((top))
-                                                       #("i2407"))
+                                                       #("i2404"))
                                                      #(ribcage
                                                        (lambda-var-list
                                                          gen-var
                                                          strip
-                                                         chi-lambda-case
+                                                         expand-lambda-case
                                                          lambda*-formals
-                                                         chi-simple-lambda
+                                                         expand-simple-lambda
                                                          lambda-formals
                                                          ellipsis?
-                                                         chi-void
+                                                         expand-void
                                                          eval-local-transformer
-                                                         chi-local-syntax
-                                                         chi-body
-                                                         chi-macro
-                                                         chi-call
-                                                         chi-expr
-                                                         chi
+                                                         expand-local-syntax
+                                                         expand-body
+                                                         expand-macro
+                                                         expand-call
+                                                         expand-expr
+                                                         expand
                                                          syntax-type
-                                                         chi-when-list
-                                                         chi-install-global
-                                                         chi-top-sequence
-                                                         chi-sequence
+                                                         parse-when-list
+                                                         expand-install-global
+                                                         expand-top-sequence
+                                                         expand-sequence
                                                          source-wrap
                                                          wrap
                                                          bound-id-member?
@@ -8073,1009 +8009,1009 @@
                                                        ("i46" "i45" "i44"))
                                                      #(ribcage () () ()))
                                                     (hygiene guile)))))
-                                    #{rkey 32877}#))))
-                        #{tmp 33001}#)
-                      (let ((#{tmp 33038}#
+                                    #{rkey 33187}#))))
+                        #{tmp 33311}#)
+                      (let ((#{tmp 33348}#
                               ($sc-dispatch
-                                #{args 32874}#
+                                #{args 33184}#
                                 '((any any) . any))))
-                        (if (if #{tmp 33038}#
+                        (if (if #{tmp 33348}#
                               (@apply
-                                (lambda (#{a 33042}#
-                                         #{init 33043}#
-                                         #{b 33044}#)
-                                  (if (symbol? #{a 33042}#)
+                                (lambda (#{a 33352}#
+                                         #{init 33353}#
+                                         #{b 33354}#)
+                                  (if (symbol? #{a 33352}#)
                                     #t
-                                    (if (if (vector? #{a 33042}#)
-                                          (if (= (vector-length #{a 33042}#) 4)
-                                            (eq? (vector-ref #{a 33042}# 0)
+                                    (if (if (vector? #{a 33352}#)
+                                          (if (= (vector-length #{a 33352}#) 4)
+                                            (eq? (vector-ref #{a 33352}# 0)
                                                  'syntax-object)
                                             #f)
                                           #f)
-                                      (symbol? (vector-ref #{a 33042}# 1))
+                                      (symbol? (vector-ref #{a 33352}# 1))
                                       #f)))
-                                #{tmp 33038}#)
+                                #{tmp 33348}#)
                               #f)
                           (@apply
-                            (lambda (#{a 33071}# #{init 33072}# #{b 33073}#)
-                              (let ((#{tmp 33074}#
+                            (lambda (#{a 33381}# #{init 33382}# #{b 33383}#)
+                              (let ((#{tmp 33384}#
                                       (symbol->keyword
-                                        (syntax->datum #{a 33071}#))))
-                                (#{key 32366}#
-                                  #{b 33073}#
-                                  #{req 32875}#
-                                  #{opt 32876}#
-                                  (cons (list #{tmp 33074}#
-                                              #{a 33071}#
-                                              #{init 33072}#)
-                                        #{rkey 32877}#))))
-                            #{tmp 33038}#)
-                          (let ((#{tmp 33077}#
+                                        (syntax->datum #{a 33381}#))))
+                                (#{key 32676}#
+                                  #{b 33383}#
+                                  #{req 33185}#
+                                  #{opt 33186}#
+                                  (cons (list #{tmp 33384}#
+                                              #{a 33381}#
+                                              #{init 33382}#)
+                                        #{rkey 33187}#))))
+                            #{tmp 33348}#)
+                          (let ((#{tmp 33387}#
                                   ($sc-dispatch
-                                    #{args 32874}#
+                                    #{args 33184}#
                                     '((any any any) . any))))
-                            (if (if #{tmp 33077}#
+                            (if (if #{tmp 33387}#
                                   (@apply
-                                    (lambda (#{a 33081}#
-                                             #{init 33082}#
-                                             #{k 33083}#
-                                             #{b 33084}#)
-                                      (if (if (symbol? #{a 33081}#)
+                                    (lambda (#{a 33391}#
+                                             #{init 33392}#
+                                             #{k 33393}#
+                                             #{b 33394}#)
+                                      (if (if (symbol? #{a 33391}#)
                                             #t
-                                            (if (if (vector? #{a 33081}#)
+                                            (if (if (vector? #{a 33391}#)
                                                   (if (= (vector-length
-                                                           #{a 33081}#)
+                                                           #{a 33391}#)
                                                          4)
                                                     (eq? (vector-ref
-                                                           #{a 33081}#
+                                                           #{a 33391}#
                                                            0)
                                                          'syntax-object)
                                                     #f)
                                                   #f)
                                               (symbol?
-                                                (vector-ref #{a 33081}# 1))
+                                                (vector-ref #{a 33391}# 1))
                                               #f))
-                                        (keyword? (syntax->datum #{k 33083}#))
+                                        (keyword? (syntax->datum #{k 33393}#))
                                         #f))
-                                    #{tmp 33077}#)
+                                    #{tmp 33387}#)
                                   #f)
                               (@apply
-                                (lambda (#{a 33111}#
-                                         #{init 33112}#
-                                         #{k 33113}#
-                                         #{b 33114}#)
-                                  (#{key 32366}#
-                                    #{b 33114}#
-                                    #{req 32875}#
-                                    #{opt 32876}#
-                                    (cons (list #{k 33113}#
-                                                #{a 33111}#
-                                                #{init 33112}#)
-                                          #{rkey 32877}#)))
-                                #{tmp 33077}#)
-                              (let ((#{tmp 33115}#
-                                      ($sc-dispatch #{args 32874}# '(any))))
-                                (if (if #{tmp 33115}#
+                                (lambda (#{a 33421}#
+                                         #{init 33422}#
+                                         #{k 33423}#
+                                         #{b 33424}#)
+                                  (#{key 32676}#
+                                    #{b 33424}#
+                                    #{req 33185}#
+                                    #{opt 33186}#
+                                    (cons (list #{k 33423}#
+                                                #{a 33421}#
+                                                #{init 33422}#)
+                                          #{rkey 33187}#)))
+                                #{tmp 33387}#)
+                              (let ((#{tmp 33425}#
+                                      ($sc-dispatch #{args 33184}# '(any))))
+                                (if (if #{tmp 33425}#
                                       (@apply
-                                        (lambda (#{aok 33119}#)
-                                          (eq? (syntax->datum #{aok 33119}#)
+                                        (lambda (#{aok 33429}#)
+                                          (eq? (syntax->datum #{aok 33429}#)
                                                #:allow-other-keys))
-                                        #{tmp 33115}#)
+                                        #{tmp 33425}#)
                                       #f)
                                   (@apply
-                                    (lambda (#{aok 33120}#)
-                                      (#{check 32368}#
-                                        #{req 32875}#
-                                        #{opt 32876}#
+                                    (lambda (#{aok 33430}#)
+                                      (#{check 32678}#
+                                        #{req 33185}#
+                                        #{opt 33186}#
                                         #f
-                                        (cons #t (reverse #{rkey 32877}#))))
-                                    #{tmp 33115}#)
-                                  (let ((#{tmp 33239}#
+                                        (cons #t (reverse #{rkey 33187}#))))
+                                    #{tmp 33425}#)
+                                  (let ((#{tmp 33549}#
                                           ($sc-dispatch
-                                            #{args 32874}#
+                                            #{args 33184}#
                                             '(any any any))))
-                                    (if (if #{tmp 33239}#
+                                    (if (if #{tmp 33549}#
                                           (@apply
-                                            (lambda (#{aok 33243}#
-                                                     #{a 33244}#
-                                                     #{b 33245}#)
+                                            (lambda (#{aok 33553}#
+                                                     #{a 33554}#
+                                                     #{b 33555}#)
                                               (if (eq? (syntax->datum
-                                                         #{aok 33243}#)
+                                                         #{aok 33553}#)
                                                        #:allow-other-keys)
                                                 (eq? (syntax->datum
-                                                       #{a 33244}#)
+                                                       #{a 33554}#)
                                                      #:rest)
                                                 #f))
-                                            #{tmp 33239}#)
+                                            #{tmp 33549}#)
                                           #f)
                                       (@apply
-                                        (lambda (#{aok 33246}#
-                                                 #{a 33247}#
-                                                 #{b 33248}#)
-                                          (#{rest 32367}#
-                                            #{b 33248}#
-                                            #{req 32875}#
-                                            #{opt 32876}#
+                                        (lambda (#{aok 33556}#
+                                                 #{a 33557}#
+                                                 #{b 33558}#)
+                                          (#{rest 32677}#
+                                            #{b 33558}#
+                                            #{req 33185}#
+                                            #{opt 33186}#
                                             (cons #t
-                                                  (reverse #{rkey 32877}#))))
-                                        #{tmp 33239}#)
-                                      (let ((#{tmp 33251}#
+                                                  (reverse #{rkey 33187}#))))
+                                        #{tmp 33549}#)
+                                      (let ((#{tmp 33561}#
                                               ($sc-dispatch
-                                                #{args 32874}#
+                                                #{args 33184}#
                                                 '(any . any))))
-                                        (if (if #{tmp 33251}#
+                                        (if (if #{tmp 33561}#
                                               (@apply
-                                                (lambda (#{aok 33255}#
-                                                         #{r 33256}#)
+                                                (lambda (#{aok 33565}#
+                                                         #{r 33566}#)
                                                   (if (eq? (syntax->datum
-                                                             #{aok 33255}#)
+                                                             #{aok 33565}#)
                                                            #:allow-other-keys)
-                                                    (if (symbol? #{r 33256}#)
+                                                    (if (symbol? #{r 33566}#)
                                                       #t
                                                       (if (if (vector?
-                                                                #{r 33256}#)
+                                                                #{r 33566}#)
                                                             (if (= 
(vector-length
-                                                                     #{r 
33256}#)
+                                                                     #{r 
33566}#)
                                                                    4)
                                                               (eq? (vector-ref
-                                                                     #{r 
33256}#
+                                                                     #{r 
33566}#
                                                                      0)
                                                                    
'syntax-object)
                                                               #f)
                                                             #f)
                                                         (symbol?
                                                           (vector-ref
-                                                            #{r 33256}#
+                                                            #{r 33566}#
                                                             1))
                                                         #f))
                                                     #f))
-                                                #{tmp 33251}#)
+                                                #{tmp 33561}#)
                                               #f)
                                           (@apply
-                                            (lambda (#{aok 33283}# #{r 33284}#)
-                                              (#{rest 32367}#
-                                                #{r 33284}#
-                                                #{req 32875}#
-                                                #{opt 32876}#
+                                            (lambda (#{aok 33593}# #{r 33594}#)
+                                              (#{rest 32677}#
+                                                #{r 33594}#
+                                                #{req 33185}#
+                                                #{opt 33186}#
                                                 (cons #t
                                                       (reverse
-                                                        #{rkey 32877}#))))
-                                            #{tmp 33251}#)
-                                          (let ((#{tmp 33287}#
+                                                        #{rkey 33187}#))))
+                                            #{tmp 33561}#)
+                                          (let ((#{tmp 33597}#
                                                   ($sc-dispatch
-                                                    #{args 32874}#
+                                                    #{args 33184}#
                                                     '(any any))))
-                                            (if (if #{tmp 33287}#
+                                            (if (if #{tmp 33597}#
                                                   (@apply
-                                                    (lambda (#{a 33291}#
-                                                             #{b 33292}#)
+                                                    (lambda (#{a 33601}#
+                                                             #{b 33602}#)
                                                       (eq? (syntax->datum
-                                                             #{a 33291}#)
+                                                             #{a 33601}#)
                                                            #:rest))
-                                                    #{tmp 33287}#)
+                                                    #{tmp 33597}#)
                                                   #f)
                                               (@apply
-                                                (lambda (#{a 33293}#
-                                                         #{b 33294}#)
-                                                  (#{rest 32367}#
-                                                    #{b 33294}#
-                                                    #{req 32875}#
-                                                    #{opt 32876}#
+                                                (lambda (#{a 33603}#
+                                                         #{b 33604}#)
+                                                  (#{rest 32677}#
+                                                    #{b 33604}#
+                                                    #{req 33185}#
+                                                    #{opt 33186}#
                                                     (cons #f
                                                           (reverse
-                                                            #{rkey 32877}#))))
-                                                #{tmp 33287}#)
-                                              (let ((#{tmp 33297}#
-                                                      (list #{args 32874}#)))
+                                                            #{rkey 33187}#))))
+                                                #{tmp 33597}#)
+                                              (let ((#{tmp 33607}#
+                                                      (list #{args 33184}#)))
                                                 (if (@apply
-                                                      (lambda (#{r 33299}#)
+                                                      (lambda (#{r 33609}#)
                                                         (if (symbol?
-                                                              #{r 33299}#)
+                                                              #{r 33609}#)
                                                           #t
                                                           (if (if (vector?
-                                                                    #{r 
33299}#)
+                                                                    #{r 
33609}#)
                                                                 (if (= 
(vector-length
-                                                                         #{r 
33299}#)
+                                                                         #{r 
33609}#)
                                                                        4)
                                                                   (eq? 
(vector-ref
-                                                                         #{r 
33299}#
+                                                                         #{r 
33609}#
                                                                          0)
                                                                        
'syntax-object)
                                                                   #f)
                                                                 #f)
                                                             (symbol?
                                                               (vector-ref
-                                                                #{r 33299}#
+                                                                #{r 33609}#
                                                                 1))
                                                             #f)))
-                                                      #{tmp 33297}#)
+                                                      #{tmp 33607}#)
                                                   (@apply
-                                                    (lambda (#{r 33329}#)
-                                                      (#{rest 32367}#
-                                                        #{r 33329}#
-                                                        #{req 32875}#
-                                                        #{opt 32876}#
+                                                    (lambda (#{r 33639}#)
+                                                      (#{rest 32677}#
+                                                        #{r 33639}#
+                                                        #{req 33185}#
+                                                        #{opt 33186}#
                                                         (cons #f
                                                               (reverse
-                                                                #{rkey 
32877}#))))
-                                                    #{tmp 33297}#)
+                                                                #{rkey 
33187}#))))
+                                                    #{tmp 33607}#)
                                                   (syntax-violation
                                                     'lambda*
                                                     "invalid keyword argument 
list"
-                                                    #{orig-args 32363}#
-                                                    #{args 
32874}#)))))))))))))))))))))
-          (#{rest 32367}#
-            (lambda (#{args 33357}#
-                     #{req 33358}#
-                     #{opt 33359}#
-                     #{kw 33360}#)
-              (let ((#{tmp 33362}# (list #{args 33357}#)))
+                                                    #{orig-args 32673}#
+                                                    #{args 
33184}#)))))))))))))))))))))
+          (#{rest 32677}#
+            (lambda (#{args 33667}#
+                     #{req 33668}#
+                     #{opt 33669}#
+                     #{kw 33670}#)
+              (let ((#{tmp 33672}# (list #{args 33667}#)))
                 (if (@apply
-                      (lambda (#{r 33364}#)
-                        (if (symbol? #{r 33364}#)
+                      (lambda (#{r 33674}#)
+                        (if (symbol? #{r 33674}#)
                           #t
-                          (if (if (vector? #{r 33364}#)
-                                (if (= (vector-length #{r 33364}#) 4)
-                                  (eq? (vector-ref #{r 33364}# 0)
+                          (if (if (vector? #{r 33674}#)
+                                (if (= (vector-length #{r 33674}#) 4)
+                                  (eq? (vector-ref #{r 33674}# 0)
                                        'syntax-object)
                                   #f)
                                 #f)
-                            (symbol? (vector-ref #{r 33364}# 1))
+                            (symbol? (vector-ref #{r 33674}# 1))
                             #f)))
-                      #{tmp 33362}#)
+                      #{tmp 33672}#)
                   (@apply
-                    (lambda (#{r 33394}#)
-                      (#{check 32368}#
-                        #{req 33358}#
-                        #{opt 33359}#
-                        #{r 33394}#
-                        #{kw 33360}#))
-                    #{tmp 33362}#)
+                    (lambda (#{r 33704}#)
+                      (#{check 32678}#
+                        #{req 33668}#
+                        #{opt 33669}#
+                        #{r 33704}#
+                        #{kw 33670}#))
+                    #{tmp 33672}#)
                   (syntax-violation
                     'lambda*
                     "invalid rest argument"
-                    #{orig-args 32363}#
-                    #{args 33357}#)))))
-          (#{check 32368}#
-            (lambda (#{req 33522}#
-                     #{opt 33523}#
-                     #{rest 33524}#
-                     #{kw 33525}#)
-              (if (#{distinct-bound-ids? 4437}#
+                    #{orig-args 32673}#
+                    #{args 33667}#)))))
+          (#{check 32678}#
+            (lambda (#{req 33832}#
+                     #{opt 33833}#
+                     #{rest 33834}#
+                     #{kw 33835}#)
+              (if (#{distinct-bound-ids? 4434}#
                     (append
-                      #{req 33522}#
-                      (map car #{opt 33523}#)
-                      (if #{rest 33524}# (list #{rest 33524}#) '())
-                      (if (pair? #{kw 33525}#)
-                        (map cadr (cdr #{kw 33525}#))
+                      #{req 33832}#
+                      (map car #{opt 33833}#)
+                      (if #{rest 33834}# (list #{rest 33834}#) '())
+                      (if (pair? #{kw 33835}#)
+                        (map cadr (cdr #{kw 33835}#))
                         '())))
                 (values
-                  #{req 33522}#
-                  #{opt 33523}#
-                  #{rest 33524}#
-                  #{kw 33525}#)
+                  #{req 33832}#
+                  #{opt 33833}#
+                  #{rest 33834}#
+                  #{kw 33835}#)
                 (syntax-violation
                   'lambda*
                   "duplicate identifier in argument list"
-                  #{orig-args 32363}#)))))
-         (#{req 32364}# #{orig-args 32363}# '()))))
-   (#{chi-lambda-case 4458}#
-     (lambda (#{e 33634}#
-              #{r 33635}#
-              #{w 33636}#
-              #{s 33637}#
-              #{mod 33638}#
-              #{get-formals 33639}#
-              #{clauses 33640}#)
+                  #{orig-args 32673}#)))))
+         (#{req 32674}# #{orig-args 32673}# '()))))
+   (#{expand-lambda-case 4455}#
+     (lambda (#{e 33944}#
+              #{r 33945}#
+              #{w 33946}#
+              #{s 33947}#
+              #{mod 33948}#
+              #{get-formals 33949}#
+              #{clauses 33950}#)
        (letrec*
-         ((#{expand-req 33641}#
-            (lambda (#{req 33777}#
-                     #{opt 33778}#
-                     #{rest 33779}#
-                     #{kw 33780}#
-                     #{body 33781}#)
-              (let ((#{vars 33782}#
-                      (map #{gen-var 4460}# #{req 33777}#))
-                    (#{labels 33783}#
-                      (#{gen-labels 4416}# #{req 33777}#)))
-                (let ((#{r* 33784}#
-                        (#{extend-var-env 4409}#
-                          #{labels 33783}#
-                          #{vars 33782}#
-                          #{r 33635}#))
-                      (#{w* 33785}#
-                        (#{make-binding-wrap 4427}#
-                          #{req 33777}#
-                          #{labels 33783}#
-                          #{w 33636}#)))
-                  (#{expand-opt 33642}#
-                    (map syntax->datum #{req 33777}#)
-                    #{opt 33778}#
-                    #{rest 33779}#
-                    #{kw 33780}#
-                    #{body 33781}#
-                    (reverse #{vars 33782}#)
-                    #{r* 33784}#
-                    #{w* 33785}#
+         ((#{parse-req 33951}#
+            (lambda (#{req 34087}#
+                     #{opt 34088}#
+                     #{rest 34089}#
+                     #{kw 34090}#
+                     #{body 34091}#)
+              (let ((#{vars 34092}#
+                      (map #{gen-var 4457}# #{req 34087}#))
+                    (#{labels 34093}#
+                      (#{gen-labels 4413}# #{req 34087}#)))
+                (let ((#{r* 34094}#
+                        (#{extend-var-env 4406}#
+                          #{labels 34093}#
+                          #{vars 34092}#
+                          #{r 33945}#))
+                      (#{w* 34095}#
+                        (#{make-binding-wrap 4424}#
+                          #{req 34087}#
+                          #{labels 34093}#
+                          #{w 33946}#)))
+                  (#{parse-opt 33952}#
+                    (map syntax->datum #{req 34087}#)
+                    #{opt 34088}#
+                    #{rest 34089}#
+                    #{kw 34090}#
+                    #{body 34091}#
+                    (reverse #{vars 34092}#)
+                    #{r* 34094}#
+                    #{w* 34095}#
                     '()
                     '())))))
-          (#{expand-opt 33642}#
-            (lambda (#{req 34021}#
-                     #{opt 34022}#
-                     #{rest 34023}#
-                     #{kw 34024}#
-                     #{body 34025}#
-                     #{vars 34026}#
-                     #{r* 34027}#
-                     #{w* 34028}#
-                     #{out 34029}#
-                     #{inits 34030}#)
-              (if (pair? #{opt 34022}#)
-                (let ((#{tmp 34031}# (car #{opt 34022}#)))
-                  (let ((#{tmp 34032}#
-                          ($sc-dispatch #{tmp 34031}# '(any any))))
-                    (if #{tmp 34032}#
+          (#{parse-opt 33952}#
+            (lambda (#{req 34331}#
+                     #{opt 34332}#
+                     #{rest 34333}#
+                     #{kw 34334}#
+                     #{body 34335}#
+                     #{vars 34336}#
+                     #{r* 34337}#
+                     #{w* 34338}#
+                     #{out 34339}#
+                     #{inits 34340}#)
+              (if (pair? #{opt 34332}#)
+                (let ((#{tmp 34341}# (car #{opt 34332}#)))
+                  (let ((#{tmp 34342}#
+                          ($sc-dispatch #{tmp 34341}# '(any any))))
+                    (if #{tmp 34342}#
                       (@apply
-                        (lambda (#{id 34034}# #{i 34035}#)
-                          (let ((#{v 34036}#
-                                  (let ((#{id 34044}#
-                                          (if (if (vector? #{id 34034}#)
+                        (lambda (#{id 34344}# #{i 34345}#)
+                          (let ((#{v 34346}#
+                                  (let ((#{id 34354}#
+                                          (if (if (vector? #{id 34344}#)
                                                 (if (= (vector-length
-                                                         #{id 34034}#)
+                                                         #{id 34344}#)
                                                        4)
                                                   (eq? (vector-ref
-                                                         #{id 34034}#
+                                                         #{id 34344}#
                                                          0)
                                                        'syntax-object)
                                                   #f)
                                                 #f)
-                                            (vector-ref #{id 34034}# 1)
-                                            #{id 34034}#)))
+                                            (vector-ref #{id 34344}# 1)
+                                            #{id 34344}#)))
                                     (gensym
                                       (string-append
-                                        (symbol->string #{id 34044}#)
+                                        (symbol->string #{id 34354}#)
                                         " ")))))
-                            (let ((#{l 34037}#
-                                    (#{gen-labels 4416}# (list #{v 34036}#))))
-                              (let ((#{r** 34038}#
-                                      (#{extend-var-env 4409}#
-                                        #{l 34037}#
-                                        (list #{v 34036}#)
-                                        #{r* 34027}#)))
-                                (let ((#{w** 34039}#
-                                        (#{make-binding-wrap 4427}#
-                                          (list #{id 34034}#)
-                                          #{l 34037}#
-                                          #{w* 34028}#)))
-                                  (#{expand-opt 33642}#
-                                    #{req 34021}#
-                                    (cdr #{opt 34022}#)
-                                    #{rest 34023}#
-                                    #{kw 34024}#
-                                    #{body 34025}#
-                                    (cons #{v 34036}# #{vars 34026}#)
-                                    #{r** 34038}#
-                                    #{w** 34039}#
-                                    (cons (syntax->datum #{id 34034}#)
-                                          #{out 34029}#)
-                                    (cons (#{chi 4446}#
-                                            #{i 34035}#
-                                            #{r* 34027}#
-                                            #{w* 34028}#
-                                            #{mod 33638}#)
-                                          #{inits 34030}#)))))))
-                        #{tmp 34032}#)
+                            (let ((#{l 34347}#
+                                    (#{gen-labels 4413}# (list #{v 34346}#))))
+                              (let ((#{r** 34348}#
+                                      (#{extend-var-env 4406}#
+                                        #{l 34347}#
+                                        (list #{v 34346}#)
+                                        #{r* 34337}#)))
+                                (let ((#{w** 34349}#
+                                        (#{make-binding-wrap 4424}#
+                                          (list #{id 34344}#)
+                                          #{l 34347}#
+                                          #{w* 34338}#)))
+                                  (#{parse-opt 33952}#
+                                    #{req 34331}#
+                                    (cdr #{opt 34332}#)
+                                    #{rest 34333}#
+                                    #{kw 34334}#
+                                    #{body 34335}#
+                                    (cons #{v 34346}# #{vars 34336}#)
+                                    #{r** 34348}#
+                                    #{w** 34349}#
+                                    (cons (syntax->datum #{id 34344}#)
+                                          #{out 34339}#)
+                                    (cons (#{expand 4443}#
+                                            #{i 34345}#
+                                            #{r* 34337}#
+                                            #{w* 34338}#
+                                            #{mod 33948}#)
+                                          #{inits 34340}#)))))))
+                        #{tmp 34342}#)
                       (syntax-violation
                         #f
                         "source expression failed to match any pattern"
-                        #{tmp 34031}#))))
-                (if #{rest 34023}#
-                  (let ((#{v 34345}#
-                          (let ((#{id 34355}#
-                                  (if (if (vector? #{rest 34023}#)
-                                        (if (= (vector-length #{rest 34023}#)
+                        #{tmp 34341}#))))
+                (if #{rest 34333}#
+                  (let ((#{v 34655}#
+                          (let ((#{id 34665}#
+                                  (if (if (vector? #{rest 34333}#)
+                                        (if (= (vector-length #{rest 34333}#)
                                                4)
-                                          (eq? (vector-ref #{rest 34023}# 0)
+                                          (eq? (vector-ref #{rest 34333}# 0)
                                                'syntax-object)
                                           #f)
                                         #f)
-                                    (vector-ref #{rest 34023}# 1)
-                                    #{rest 34023}#)))
+                                    (vector-ref #{rest 34333}# 1)
+                                    #{rest 34333}#)))
                             (gensym
                               (string-append
-                                (symbol->string #{id 34355}#)
+                                (symbol->string #{id 34665}#)
                                 " ")))))
-                    (let ((#{l 34346}#
-                            (#{gen-labels 4416}# (list #{v 34345}#))))
-                      (let ((#{r* 34347}#
-                              (#{extend-var-env 4409}#
-                                #{l 34346}#
-                                (list #{v 34345}#)
-                                #{r* 34027}#)))
-                        (let ((#{w* 34348}#
-                                (#{make-binding-wrap 4427}#
-                                  (list #{rest 34023}#)
-                                  #{l 34346}#
-                                  #{w* 34028}#)))
-                          (#{expand-kw 33643}#
-                            #{req 34021}#
-                            (if (pair? #{out 34029}#)
-                              (reverse #{out 34029}#)
+                    (let ((#{l 34656}#
+                            (#{gen-labels 4413}# (list #{v 34655}#))))
+                      (let ((#{r* 34657}#
+                              (#{extend-var-env 4406}#
+                                #{l 34656}#
+                                (list #{v 34655}#)
+                                #{r* 34337}#)))
+                        (let ((#{w* 34658}#
+                                (#{make-binding-wrap 4424}#
+                                  (list #{rest 34333}#)
+                                  #{l 34656}#
+                                  #{w* 34338}#)))
+                          (#{parse-kw 33953}#
+                            #{req 34331}#
+                            (if (pair? #{out 34339}#)
+                              (reverse #{out 34339}#)
                               #f)
-                            (syntax->datum #{rest 34023}#)
-                            (if (pair? #{kw 34024}#)
-                              (cdr #{kw 34024}#)
-                              #{kw 34024}#)
-                            #{body 34025}#
-                            (cons #{v 34345}# #{vars 34026}#)
-                            #{r* 34347}#
-                            #{w* 34348}#
-                            (if (pair? #{kw 34024}#) (car #{kw 34024}#) #f)
+                            (syntax->datum #{rest 34333}#)
+                            (if (pair? #{kw 34334}#)
+                              (cdr #{kw 34334}#)
+                              #{kw 34334}#)
+                            #{body 34335}#
+                            (cons #{v 34655}# #{vars 34336}#)
+                            #{r* 34657}#
+                            #{w* 34658}#
+                            (if (pair? #{kw 34334}#) (car #{kw 34334}#) #f)
                             '()
-                            #{inits 34030}#)))))
-                  (#{expand-kw 33643}#
-                    #{req 34021}#
-                    (if (pair? #{out 34029}#)
-                      (reverse #{out 34029}#)
+                            #{inits 34340}#)))))
+                  (#{parse-kw 33953}#
+                    #{req 34331}#
+                    (if (pair? #{out 34339}#)
+                      (reverse #{out 34339}#)
                       #f)
                     #f
-                    (if (pair? #{kw 34024}#)
-                      (cdr #{kw 34024}#)
-                      #{kw 34024}#)
-                    #{body 34025}#
-                    #{vars 34026}#
-                    #{r* 34027}#
-                    #{w* 34028}#
-                    (if (pair? #{kw 34024}#) (car #{kw 34024}#) #f)
+                    (if (pair? #{kw 34334}#)
+                      (cdr #{kw 34334}#)
+                      #{kw 34334}#)
+                    #{body 34335}#
+                    #{vars 34336}#
+                    #{r* 34337}#
+                    #{w* 34338}#
+                    (if (pair? #{kw 34334}#) (car #{kw 34334}#) #f)
                     '()
-                    #{inits 34030}#)))))
-          (#{expand-kw 33643}#
-            (lambda (#{req 34577}#
-                     #{opt 34578}#
-                     #{rest 34579}#
-                     #{kw 34580}#
-                     #{body 34581}#
-                     #{vars 34582}#
-                     #{r* 34583}#
-                     #{w* 34584}#
-                     #{aok 34585}#
-                     #{out 34586}#
-                     #{inits 34587}#)
-              (if (pair? #{kw 34580}#)
-                (let ((#{tmp 34588}# (car #{kw 34580}#)))
-                  (let ((#{tmp 34589}#
-                          ($sc-dispatch #{tmp 34588}# '(any any any))))
-                    (if #{tmp 34589}#
+                    #{inits 34340}#)))))
+          (#{parse-kw 33953}#
+            (lambda (#{req 34887}#
+                     #{opt 34888}#
+                     #{rest 34889}#
+                     #{kw 34890}#
+                     #{body 34891}#
+                     #{vars 34892}#
+                     #{r* 34893}#
+                     #{w* 34894}#
+                     #{aok 34895}#
+                     #{out 34896}#
+                     #{inits 34897}#)
+              (if (pair? #{kw 34890}#)
+                (let ((#{tmp 34898}# (car #{kw 34890}#)))
+                  (let ((#{tmp 34899}#
+                          ($sc-dispatch #{tmp 34898}# '(any any any))))
+                    (if #{tmp 34899}#
                       (@apply
-                        (lambda (#{k 34591}# #{id 34592}# #{i 34593}#)
-                          (let ((#{v 34594}#
-                                  (let ((#{id 34602}#
-                                          (if (if (vector? #{id 34592}#)
+                        (lambda (#{k 34901}# #{id 34902}# #{i 34903}#)
+                          (let ((#{v 34904}#
+                                  (let ((#{id 34912}#
+                                          (if (if (vector? #{id 34902}#)
                                                 (if (= (vector-length
-                                                         #{id 34592}#)
+                                                         #{id 34902}#)
                                                        4)
                                                   (eq? (vector-ref
-                                                         #{id 34592}#
+                                                         #{id 34902}#
                                                          0)
                                                        'syntax-object)
                                                   #f)
                                                 #f)
-                                            (vector-ref #{id 34592}# 1)
-                                            #{id 34592}#)))
+                                            (vector-ref #{id 34902}# 1)
+                                            #{id 34902}#)))
                                     (gensym
                                       (string-append
-                                        (symbol->string #{id 34602}#)
+                                        (symbol->string #{id 34912}#)
                                         " ")))))
-                            (let ((#{l 34595}#
-                                    (#{gen-labels 4416}# (list #{v 34594}#))))
-                              (let ((#{r** 34596}#
-                                      (#{extend-var-env 4409}#
-                                        #{l 34595}#
-                                        (list #{v 34594}#)
-                                        #{r* 34583}#)))
-                                (let ((#{w** 34597}#
-                                        (#{make-binding-wrap 4427}#
-                                          (list #{id 34592}#)
-                                          #{l 34595}#
-                                          #{w* 34584}#)))
-                                  (#{expand-kw 33643}#
-                                    #{req 34577}#
-                                    #{opt 34578}#
-                                    #{rest 34579}#
-                                    (cdr #{kw 34580}#)
-                                    #{body 34581}#
-                                    (cons #{v 34594}# #{vars 34582}#)
-                                    #{r** 34596}#
-                                    #{w** 34597}#
-                                    #{aok 34585}#
-                                    (cons (list (syntax->datum #{k 34591}#)
-                                                (syntax->datum #{id 34592}#)
-                                                #{v 34594}#)
-                                          #{out 34586}#)
-                                    (cons (#{chi 4446}#
-                                            #{i 34593}#
-                                            #{r* 34583}#
-                                            #{w* 34584}#
-                                            #{mod 33638}#)
-                                          #{inits 34587}#)))))))
-                        #{tmp 34589}#)
+                            (let ((#{l 34905}#
+                                    (#{gen-labels 4413}# (list #{v 34904}#))))
+                              (let ((#{r** 34906}#
+                                      (#{extend-var-env 4406}#
+                                        #{l 34905}#
+                                        (list #{v 34904}#)
+                                        #{r* 34893}#)))
+                                (let ((#{w** 34907}#
+                                        (#{make-binding-wrap 4424}#
+                                          (list #{id 34902}#)
+                                          #{l 34905}#
+                                          #{w* 34894}#)))
+                                  (#{parse-kw 33953}#
+                                    #{req 34887}#
+                                    #{opt 34888}#
+                                    #{rest 34889}#
+                                    (cdr #{kw 34890}#)
+                                    #{body 34891}#
+                                    (cons #{v 34904}# #{vars 34892}#)
+                                    #{r** 34906}#
+                                    #{w** 34907}#
+                                    #{aok 34895}#
+                                    (cons (list (syntax->datum #{k 34901}#)
+                                                (syntax->datum #{id 34902}#)
+                                                #{v 34904}#)
+                                          #{out 34896}#)
+                                    (cons (#{expand 4443}#
+                                            #{i 34903}#
+                                            #{r* 34893}#
+                                            #{w* 34894}#
+                                            #{mod 33948}#)
+                                          #{inits 34897}#)))))))
+                        #{tmp 34899}#)
                       (syntax-violation
                         #f
                         "source expression failed to match any pattern"
-                        #{tmp 34588}#))))
-                (#{expand-body 33644}#
-                  #{req 34577}#
-                  #{opt 34578}#
-                  #{rest 34579}#
-                  (if (if #{aok 34585}#
-                        #{aok 34585}#
-                        (pair? #{out 34586}#))
-                    (cons #{aok 34585}# (reverse #{out 34586}#))
+                        #{tmp 34898}#))))
+                (#{parse-body 33954}#
+                  #{req 34887}#
+                  #{opt 34888}#
+                  #{rest 34889}#
+                  (if (if #{aok 34895}#
+                        #{aok 34895}#
+                        (pair? #{out 34896}#))
+                    (cons #{aok 34895}# (reverse #{out 34896}#))
                     #f)
-                  #{body 34581}#
-                  (reverse #{vars 34582}#)
-                  #{r* 34583}#
-                  #{w* 34584}#
-                  (reverse #{inits 34587}#)
+                  #{body 34891}#
+                  (reverse #{vars 34892}#)
+                  #{r* 34893}#
+                  #{w* 34894}#
+                  (reverse #{inits 34897}#)
                   '()))))
-          (#{expand-body 33644}#
-            (lambda (#{req 34912}#
-                     #{opt 34913}#
-                     #{rest 34914}#
-                     #{kw 34915}#
-                     #{body 34916}#
-                     #{vars 34917}#
-                     #{r* 34918}#
-                     #{w* 34919}#
-                     #{inits 34920}#
-                     #{meta 34921}#)
-              (let ((#{tmp 34923}#
+          (#{parse-body 33954}#
+            (lambda (#{req 35222}#
+                     #{opt 35223}#
+                     #{rest 35224}#
+                     #{kw 35225}#
+                     #{body 35226}#
+                     #{vars 35227}#
+                     #{r* 35228}#
+                     #{w* 35229}#
+                     #{inits 35230}#
+                     #{meta 35231}#)
+              (let ((#{tmp 35233}#
                       ($sc-dispatch
-                        #{body 34916}#
+                        #{body 35226}#
                         '(any any . each-any))))
-                (if (if #{tmp 34923}#
+                (if (if #{tmp 35233}#
                       (@apply
-                        (lambda (#{docstring 34927}# #{e1 34928}# #{e2 34929}#)
-                          (string? (syntax->datum #{docstring 34927}#)))
-                        #{tmp 34923}#)
+                        (lambda (#{docstring 35237}# #{e1 35238}# #{e2 35239}#)
+                          (string? (syntax->datum #{docstring 35237}#)))
+                        #{tmp 35233}#)
                       #f)
                   (@apply
-                    (lambda (#{docstring 34930}# #{e1 34931}# #{e2 34932}#)
-                      (#{expand-body 33644}#
-                        #{req 34912}#
-                        #{opt 34913}#
-                        #{rest 34914}#
-                        #{kw 34915}#
-                        (cons #{e1 34931}# #{e2 34932}#)
-                        #{vars 34917}#
-                        #{r* 34918}#
-                        #{w* 34919}#
-                        #{inits 34920}#
+                    (lambda (#{docstring 35240}# #{e1 35241}# #{e2 35242}#)
+                      (#{parse-body 33954}#
+                        #{req 35222}#
+                        #{opt 35223}#
+                        #{rest 35224}#
+                        #{kw 35225}#
+                        (cons #{e1 35241}# #{e2 35242}#)
+                        #{vars 35227}#
+                        #{r* 35228}#
+                        #{w* 35229}#
+                        #{inits 35230}#
                         (append
-                          #{meta 34921}#
+                          #{meta 35231}#
                           (list (cons 'documentation
-                                      (syntax->datum #{docstring 34930}#))))))
-                    #{tmp 34923}#)
-                  (let ((#{tmp 34933}#
+                                      (syntax->datum #{docstring 35240}#))))))
+                    #{tmp 35233}#)
+                  (let ((#{tmp 35243}#
                           ($sc-dispatch
-                            #{body 34916}#
+                            #{body 35226}#
                             '(#(vector #(each (any . any))) any . each-any))))
-                    (if #{tmp 34933}#
+                    (if #{tmp 35243}#
                       (@apply
-                        (lambda (#{k 34937}#
-                                 #{v 34938}#
-                                 #{e1 34939}#
-                                 #{e2 34940}#)
-                          (#{expand-body 33644}#
-                            #{req 34912}#
-                            #{opt 34913}#
-                            #{rest 34914}#
-                            #{kw 34915}#
-                            (cons #{e1 34939}# #{e2 34940}#)
-                            #{vars 34917}#
-                            #{r* 34918}#
-                            #{w* 34919}#
-                            #{inits 34920}#
+                        (lambda (#{k 35247}#
+                                 #{v 35248}#
+                                 #{e1 35249}#
+                                 #{e2 35250}#)
+                          (#{parse-body 33954}#
+                            #{req 35222}#
+                            #{opt 35223}#
+                            #{rest 35224}#
+                            #{kw 35225}#
+                            (cons #{e1 35249}# #{e2 35250}#)
+                            #{vars 35227}#
+                            #{r* 35228}#
+                            #{w* 35229}#
+                            #{inits 35230}#
                             (append
-                              #{meta 34921}#
+                              #{meta 35231}#
                               (syntax->datum
-                                (map cons #{k 34937}# #{v 34938}#)))))
-                        #{tmp 34933}#)
-                      (let ((#{tmp 34941}#
-                              ($sc-dispatch #{body 34916}# '(any . each-any))))
-                        (if #{tmp 34941}#
+                                (map cons #{k 35247}# #{v 35248}#)))))
+                        #{tmp 35243}#)
+                      (let ((#{tmp 35251}#
+                              ($sc-dispatch #{body 35226}# '(any . each-any))))
+                        (if #{tmp 35251}#
                           (@apply
-                            (lambda (#{e1 34945}# #{e2 34946}#)
+                            (lambda (#{e1 35255}# #{e2 35256}#)
                               (values
-                                #{meta 34921}#
-                                #{req 34912}#
-                                #{opt 34913}#
-                                #{rest 34914}#
-                                #{kw 34915}#
-                                #{inits 34920}#
-                                #{vars 34917}#
-                                (#{chi-body 4450}#
-                                  (cons #{e1 34945}# #{e2 34946}#)
-                                  (let ((#{x 34958}#
+                                #{meta 35231}#
+                                #{req 35222}#
+                                #{opt 35223}#
+                                #{rest 35224}#
+                                #{kw 35225}#
+                                #{inits 35230}#
+                                #{vars 35227}#
+                                (#{expand-body 4447}#
+                                  (cons #{e1 35255}# #{e2 35256}#)
+                                  (let ((#{x 35268}#
                                           (begin
-                                            (if (if (pair? #{e 33634}#)
-                                                  #{s 33637}#
+                                            (if (if (pair? #{e 33944}#)
+                                                  #{s 33947}#
                                                   #f)
                                               (set-source-properties!
-                                                #{e 33634}#
-                                                #{s 33637}#))
-                                            #{e 33634}#)))
-                                    (if (if (null? (car #{w 33636}#))
-                                          (null? (cdr #{w 33636}#))
+                                                #{e 33944}#
+                                                #{s 33947}#))
+                                            #{e 33944}#)))
+                                    (if (if (null? (car #{w 33946}#))
+                                          (null? (cdr #{w 33946}#))
                                           #f)
-                                      #{x 34958}#
-                                      (if (if (vector? #{x 34958}#)
-                                            (if (= (vector-length #{x 34958}#)
+                                      #{x 35268}#
+                                      (if (if (vector? #{x 35268}#)
+                                            (if (= (vector-length #{x 35268}#)
                                                    4)
-                                              (eq? (vector-ref #{x 34958}# 0)
+                                              (eq? (vector-ref #{x 35268}# 0)
                                                    'syntax-object)
                                               #f)
                                             #f)
-                                        (let ((#{expression 34990}#
-                                                (vector-ref #{x 34958}# 1))
-                                              (#{wrap 34991}#
-                                                (let ((#{w2 34999}#
+                                        (let ((#{expression 35300}#
+                                                (vector-ref #{x 35268}# 1))
+                                              (#{wrap 35301}#
+                                                (let ((#{w2 35309}#
                                                         (vector-ref
-                                                          #{x 34958}#
+                                                          #{x 35268}#
                                                           2)))
-                                                  (let ((#{m1 35000}#
-                                                          (car #{w 33636}#))
-                                                        (#{s1 35001}#
-                                                          (cdr #{w 33636}#)))
-                                                    (if (null? #{m1 35000}#)
-                                                      (if (null? #{s1 35001}#)
-                                                        #{w2 34999}#
-                                                        (cons (car #{w2 
34999}#)
-                                                              (let ((#{m2 
35016}#
-                                                                      (cdr 
#{w2 34999}#)))
-                                                                (if (null? 
#{m2 35016}#)
-                                                                  #{s1 35001}#
+                                                  (let ((#{m1 35310}#
+                                                          (car #{w 33946}#))
+                                                        (#{s1 35311}#
+                                                          (cdr #{w 33946}#)))
+                                                    (if (null? #{m1 35310}#)
+                                                      (if (null? #{s1 35311}#)
+                                                        #{w2 35309}#
+                                                        (cons (car #{w2 
35309}#)
+                                                              (let ((#{m2 
35326}#
+                                                                      (cdr 
#{w2 35309}#)))
+                                                                (if (null? 
#{m2 35326}#)
+                                                                  #{s1 35311}#
                                                                   (append
-                                                                    #{s1 
35001}#
-                                                                    #{m2 
35016}#)))))
-                                                      (cons (let ((#{m2 35024}#
-                                                                    (car #{w2 
34999}#)))
-                                                              (if (null? #{m2 
35024}#)
-                                                                #{m1 35000}#
+                                                                    #{s1 
35311}#
+                                                                    #{m2 
35326}#)))))
+                                                      (cons (let ((#{m2 35334}#
+                                                                    (car #{w2 
35309}#)))
+                                                              (if (null? #{m2 
35334}#)
+                                                                #{m1 35310}#
                                                                 (append
-                                                                  #{m1 35000}#
-                                                                  #{m2 
35024}#)))
-                                                            (let ((#{m2 35032}#
-                                                                    (cdr #{w2 
34999}#)))
-                                                              (if (null? #{m2 
35032}#)
-                                                                #{s1 35001}#
+                                                                  #{m1 35310}#
+                                                                  #{m2 
35334}#)))
+                                                            (let ((#{m2 35342}#
+                                                                    (cdr #{w2 
35309}#)))
+                                                              (if (null? #{m2 
35342}#)
+                                                                #{s1 35311}#
                                                                 (append
-                                                                  #{s1 35001}#
-                                                                  #{m2 
35032}#))))))))
-                                              (#{module 34992}#
-                                                (vector-ref #{x 34958}# 3)))
+                                                                  #{s1 35311}#
+                                                                  #{m2 
35342}#))))))))
+                                              (#{module 35302}#
+                                                (vector-ref #{x 35268}# 3)))
                                           (vector
                                             'syntax-object
-                                            #{expression 34990}#
-                                            #{wrap 34991}#
-                                            #{module 34992}#))
-                                        (if (null? #{x 34958}#)
-                                          #{x 34958}#
+                                            #{expression 35300}#
+                                            #{wrap 35301}#
+                                            #{module 35302}#))
+                                        (if (null? #{x 35268}#)
+                                          #{x 35268}#
                                           (vector
                                             'syntax-object
-                                            #{x 34958}#
-                                            #{w 33636}#
-                                            #{mod 33638}#)))))
-                                  #{r* 34918}#
-                                  #{w* 34919}#
-                                  #{mod 33638}#)))
-                            #{tmp 34941}#)
+                                            #{x 35268}#
+                                            #{w 33946}#
+                                            #{mod 33948}#)))))
+                                  #{r* 35228}#
+                                  #{w* 35229}#
+                                  #{mod 33948}#)))
+                            #{tmp 35251}#)
                           (syntax-violation
                             #f
                             "source expression failed to match any pattern"
-                            #{body 34916}#))))))))))
-         (let ((#{tmp 33646}#
-                 ($sc-dispatch #{clauses 33640}# '())))
-           (if #{tmp 33646}#
+                            #{body 35226}#))))))))))
+         (let ((#{tmp 33956}#
+                 ($sc-dispatch #{clauses 33950}# '())))
+           (if #{tmp 33956}#
              (@apply
                (lambda () (values '() #f))
-               #{tmp 33646}#)
-             (let ((#{tmp 33651}#
+               #{tmp 33956}#)
+             (let ((#{tmp 33961}#
                      ($sc-dispatch
-                       #{clauses 33640}#
+                       #{clauses 33950}#
                        '((any any . each-any)
                          .
                          #(each (any any . each-any))))))
-               (if #{tmp 33651}#
+               (if #{tmp 33961}#
                  (@apply
-                   (lambda (#{args 33655}#
-                            #{e1 33656}#
-                            #{e2 33657}#
-                            #{args* 33658}#
-                            #{e1* 33659}#
-                            #{e2* 33660}#)
+                   (lambda (#{args 33965}#
+                            #{e1 33966}#
+                            #{e2 33967}#
+                            #{args* 33968}#
+                            #{e1* 33969}#
+                            #{e2* 33970}#)
                      (call-with-values
                        (lambda ()
-                         (#{get-formals 33639}# #{args 33655}#))
-                       (lambda (#{req 33661}#
-                                #{opt 33662}#
-                                #{rest 33663}#
-                                #{kw 33664}#)
+                         (#{get-formals 33949}# #{args 33965}#))
+                       (lambda (#{req 33971}#
+                                #{opt 33972}#
+                                #{rest 33973}#
+                                #{kw 33974}#)
                          (call-with-values
                            (lambda ()
-                             (#{expand-req 33641}#
-                               #{req 33661}#
-                               #{opt 33662}#
-                               #{rest 33663}#
-                               #{kw 33664}#
-                               (cons #{e1 33656}# #{e2 33657}#)))
-                           (lambda (#{meta 33733}#
-                                    #{req 33734}#
-                                    #{opt 33735}#
-                                    #{rest 33736}#
-                                    #{kw 33737}#
-                                    #{inits 33738}#
-                                    #{vars 33739}#
-                                    #{body 33740}#)
+                             (#{parse-req 33951}#
+                               #{req 33971}#
+                               #{opt 33972}#
+                               #{rest 33973}#
+                               #{kw 33974}#
+                               (cons #{e1 33966}# #{e2 33967}#)))
+                           (lambda (#{meta 34043}#
+                                    #{req 34044}#
+                                    #{opt 34045}#
+                                    #{rest 34046}#
+                                    #{kw 34047}#
+                                    #{inits 34048}#
+                                    #{vars 34049}#
+                                    #{body 34050}#)
                              (call-with-values
                                (lambda ()
-                                 (#{chi-lambda-case 4458}#
-                                   #{e 33634}#
-                                   #{r 33635}#
-                                   #{w 33636}#
-                                   #{s 33637}#
-                                   #{mod 33638}#
-                                   #{get-formals 33639}#
-                                   (map (lambda (#{tmp 2886 33741}#
-                                                 #{tmp 2885 33742}#
-                                                 #{tmp 2884 33743}#)
-                                          (cons #{tmp 2884 33743}#
-                                                (cons #{tmp 2885 33742}#
-                                                      #{tmp 2886 33741}#)))
-                                        #{e2* 33660}#
-                                        #{e1* 33659}#
-                                        #{args* 33658}#)))
-                               (lambda (#{meta* 33744}# #{else* 33745}#)
+                                 (#{expand-lambda-case 4455}#
+                                   #{e 33944}#
+                                   #{r 33945}#
+                                   #{w 33946}#
+                                   #{s 33947}#
+                                   #{mod 33948}#
+                                   #{get-formals 33949}#
+                                   (map (lambda (#{tmp 2883 34051}#
+                                                 #{tmp 2882 34052}#
+                                                 #{tmp 2881 34053}#)
+                                          (cons #{tmp 2881 34053}#
+                                                (cons #{tmp 2882 34052}#
+                                                      #{tmp 2883 34051}#)))
+                                        #{e2* 33970}#
+                                        #{e1* 33969}#
+                                        #{args* 33968}#)))
+                               (lambda (#{meta* 34054}# #{else* 34055}#)
                                  (values
-                                   (append #{meta 33733}# #{meta* 33744}#)
+                                   (append #{meta 34043}# #{meta* 34054}#)
                                    (make-struct/no-tail
                                      (vector-ref %expanded-vtables 15)
-                                     #{s 33637}#
-                                     #{req 33734}#
-                                     #{opt 33735}#
-                                     #{rest 33736}#
-                                     #{kw 33737}#
-                                     #{inits 33738}#
-                                     #{vars 33739}#
-                                     #{body 33740}#
-                                     #{else* 33745}#)))))))))
-                   #{tmp 33651}#)
+                                     #{s 33947}#
+                                     #{req 34044}#
+                                     #{opt 34045}#
+                                     #{rest 34046}#
+                                     #{kw 34047}#
+                                     #{inits 34048}#
+                                     #{vars 34049}#
+                                     #{body 34050}#
+                                     #{else* 34055}#)))))))))
+                   #{tmp 33961}#)
                  (syntax-violation
                    #f
                    "source expression failed to match any pattern"
-                   #{clauses 33640}#))))))))
-   (#{strip 4459}#
-     (lambda (#{x 35059}# #{w 35060}#)
-       (if (memq 'top (car #{w 35060}#))
-         #{x 35059}#
+                   #{clauses 33950}#))))))))
+   (#{strip 4456}#
+     (lambda (#{x 35369}# #{w 35370}#)
+       (if (memq 'top (car #{w 35370}#))
+         #{x 35369}#
          (letrec*
-           ((#{f 35061}#
-              (lambda (#{x 35064}#)
-                (if (if (vector? #{x 35064}#)
-                      (if (= (vector-length #{x 35064}#) 4)
-                        (eq? (vector-ref #{x 35064}# 0) 'syntax-object)
+           ((#{f 35371}#
+              (lambda (#{x 35374}#)
+                (if (if (vector? #{x 35374}#)
+                      (if (= (vector-length #{x 35374}#) 4)
+                        (eq? (vector-ref #{x 35374}# 0) 'syntax-object)
                         #f)
                       #f)
-                  (#{strip 4459}#
-                    (vector-ref #{x 35064}# 1)
-                    (vector-ref #{x 35064}# 2))
-                  (if (pair? #{x 35064}#)
-                    (let ((#{a 35083}# (#{f 35061}# (car #{x 35064}#)))
-                          (#{d 35084}# (#{f 35061}# (cdr #{x 35064}#))))
-                      (if (if (eq? #{a 35083}# (car #{x 35064}#))
-                            (eq? #{d 35084}# (cdr #{x 35064}#))
+                  (#{strip 4456}#
+                    (vector-ref #{x 35374}# 1)
+                    (vector-ref #{x 35374}# 2))
+                  (if (pair? #{x 35374}#)
+                    (let ((#{a 35393}# (#{f 35371}# (car #{x 35374}#)))
+                          (#{d 35394}# (#{f 35371}# (cdr #{x 35374}#))))
+                      (if (if (eq? #{a 35393}# (car #{x 35374}#))
+                            (eq? #{d 35394}# (cdr #{x 35374}#))
                             #f)
-                        #{x 35064}#
-                        (cons #{a 35083}# #{d 35084}#)))
-                    (if (vector? #{x 35064}#)
-                      (let ((#{old 35087}# (vector->list #{x 35064}#)))
-                        (let ((#{new 35088}# (map #{f 35061}# #{old 35087}#)))
+                        #{x 35374}#
+                        (cons #{a 35393}# #{d 35394}#)))
+                    (if (vector? #{x 35374}#)
+                      (let ((#{old 35397}# (vector->list #{x 35374}#)))
+                        (let ((#{new 35398}# (map #{f 35371}# #{old 35397}#)))
                           (letrec*
-                            ((#{lp 35089}#
-                               (lambda (#{l1 35186}# #{l2 35187}#)
-                                 (if (null? #{l1 35186}#)
-                                   #{x 35064}#
-                                   (if (eq? (car #{l1 35186}#)
-                                            (car #{l2 35187}#))
-                                     (#{lp 35089}#
-                                       (cdr #{l1 35186}#)
-                                       (cdr #{l2 35187}#))
-                                     (list->vector #{new 35088}#))))))
-                            (#{lp 35089}# #{old 35087}# #{new 35088}#))))
-                      #{x 35064}#))))))
-           (#{f 35061}# #{x 35059}#)))))
-   (#{gen-var 4460}#
-     (lambda (#{id 33789}#)
-       (let ((#{id 33790}#
-               (if (if (vector? #{id 33789}#)
-                     (if (= (vector-length #{id 33789}#) 4)
-                       (eq? (vector-ref #{id 33789}# 0) 'syntax-object)
+                            ((#{lp 35399}#
+                               (lambda (#{l1 35496}# #{l2 35497}#)
+                                 (if (null? #{l1 35496}#)
+                                   #{x 35374}#
+                                   (if (eq? (car #{l1 35496}#)
+                                            (car #{l2 35497}#))
+                                     (#{lp 35399}#
+                                       (cdr #{l1 35496}#)
+                                       (cdr #{l2 35497}#))
+                                     (list->vector #{new 35398}#))))))
+                            (#{lp 35399}# #{old 35397}# #{new 35398}#))))
+                      #{x 35374}#))))))
+           (#{f 35371}# #{x 35369}#)))))
+   (#{gen-var 4457}#
+     (lambda (#{id 34099}#)
+       (let ((#{id 34100}#
+               (if (if (vector? #{id 34099}#)
+                     (if (= (vector-length #{id 34099}#) 4)
+                       (eq? (vector-ref #{id 34099}# 0) 'syntax-object)
                        #f)
                      #f)
-                 (vector-ref #{id 33789}# 1)
-                 #{id 33789}#)))
+                 (vector-ref #{id 34099}# 1)
+                 #{id 34099}#)))
          (gensym
-           (string-append (symbol->string #{id 33790}#) " ")))))
-   (#{lambda-var-list 4461}#
-     (lambda (#{vars 35188}#)
+           (string-append (symbol->string #{id 34100}#) " ")))))
+   (#{lambda-var-list 4458}#
+     (lambda (#{vars 35498}#)
        (letrec*
-         ((#{lvl 35189}#
-            (lambda (#{vars 35192}# #{ls 35193}# #{w 35194}#)
-              (if (pair? #{vars 35192}#)
-                (#{lvl 35189}#
-                  (cdr #{vars 35192}#)
-                  (cons (let ((#{x 35198}# (car #{vars 35192}#)))
-                          (if (if (null? (car #{w 35194}#))
-                                (null? (cdr #{w 35194}#))
+         ((#{lvl 35499}#
+            (lambda (#{vars 35502}# #{ls 35503}# #{w 35504}#)
+              (if (pair? #{vars 35502}#)
+                (#{lvl 35499}#
+                  (cdr #{vars 35502}#)
+                  (cons (let ((#{x 35508}# (car #{vars 35502}#)))
+                          (if (if (null? (car #{w 35504}#))
+                                (null? (cdr #{w 35504}#))
                                 #f)
-                            #{x 35198}#
-                            (if (if (vector? #{x 35198}#)
-                                  (if (= (vector-length #{x 35198}#) 4)
-                                    (eq? (vector-ref #{x 35198}# 0)
+                            #{x 35508}#
+                            (if (if (vector? #{x 35508}#)
+                                  (if (= (vector-length #{x 35508}#) 4)
+                                    (eq? (vector-ref #{x 35508}# 0)
                                          'syntax-object)
                                     #f)
                                   #f)
-                              (let ((#{expression 35216}#
-                                      (vector-ref #{x 35198}# 1))
-                                    (#{wrap 35217}#
-                                      (let ((#{w2 35225}#
-                                              (vector-ref #{x 35198}# 2)))
-                                        (let ((#{m1 35226}# (car #{w 35194}#))
-                                              (#{s1 35227}# (cdr #{w 35194}#)))
-                                          (if (null? #{m1 35226}#)
-                                            (if (null? #{s1 35227}#)
-                                              #{w2 35225}#
-                                              (cons (car #{w2 35225}#)
-                                                    (let ((#{m2 35242}#
-                                                            (cdr #{w2 
35225}#)))
-                                                      (if (null? #{m2 35242}#)
-                                                        #{s1 35227}#
+                              (let ((#{expression 35526}#
+                                      (vector-ref #{x 35508}# 1))
+                                    (#{wrap 35527}#
+                                      (let ((#{w2 35535}#
+                                              (vector-ref #{x 35508}# 2)))
+                                        (let ((#{m1 35536}# (car #{w 35504}#))
+                                              (#{s1 35537}# (cdr #{w 35504}#)))
+                                          (if (null? #{m1 35536}#)
+                                            (if (null? #{s1 35537}#)
+                                              #{w2 35535}#
+                                              (cons (car #{w2 35535}#)
+                                                    (let ((#{m2 35552}#
+                                                            (cdr #{w2 
35535}#)))
+                                                      (if (null? #{m2 35552}#)
+                                                        #{s1 35537}#
                                                         (append
-                                                          #{s1 35227}#
-                                                          #{m2 35242}#)))))
-                                            (cons (let ((#{m2 35250}#
-                                                          (car #{w2 35225}#)))
-                                                    (if (null? #{m2 35250}#)
-                                                      #{m1 35226}#
+                                                          #{s1 35537}#
+                                                          #{m2 35552}#)))))
+                                            (cons (let ((#{m2 35560}#
+                                                          (car #{w2 35535}#)))
+                                                    (if (null? #{m2 35560}#)
+                                                      #{m1 35536}#
                                                       (append
-                                                        #{m1 35226}#
-                                                        #{m2 35250}#)))
-                                                  (let ((#{m2 35258}#
-                                                          (cdr #{w2 35225}#)))
-                                                    (if (null? #{m2 35258}#)
-                                                      #{s1 35227}#
+                                                        #{m1 35536}#
+                                                        #{m2 35560}#)))
+                                                  (let ((#{m2 35568}#
+                                                          (cdr #{w2 35535}#)))
+                                                    (if (null? #{m2 35568}#)
+                                                      #{s1 35537}#
                                                       (append
-                                                        #{s1 35227}#
-                                                        #{m2 35258}#))))))))
-                                    (#{module 35218}#
-                                      (vector-ref #{x 35198}# 3)))
+                                                        #{s1 35537}#
+                                                        #{m2 35568}#))))))))
+                                    (#{module 35528}#
+                                      (vector-ref #{x 35508}# 3)))
                                 (vector
                                   'syntax-object
-                                  #{expression 35216}#
-                                  #{wrap 35217}#
-                                  #{module 35218}#))
-                              (if (null? #{x 35198}#)
-                                #{x 35198}#
+                                  #{expression 35526}#
+                                  #{wrap 35527}#
+                                  #{module 35528}#))
+                              (if (null? #{x 35508}#)
+                                #{x 35508}#
                                 (vector
                                   'syntax-object
-                                  #{x 35198}#
-                                  #{w 35194}#
+                                  #{x 35508}#
+                                  #{w 35504}#
                                   #f)))))
-                        #{ls 35193}#)
-                  #{w 35194}#)
-                (if (if (symbol? #{vars 35192}#)
+                        #{ls 35503}#)
+                  #{w 35504}#)
+                (if (if (symbol? #{vars 35502}#)
                       #t
-                      (if (if (vector? #{vars 35192}#)
-                            (if (= (vector-length #{vars 35192}#) 4)
-                              (eq? (vector-ref #{vars 35192}# 0)
+                      (if (if (vector? #{vars 35502}#)
+                            (if (= (vector-length #{vars 35502}#) 4)
+                              (eq? (vector-ref #{vars 35502}# 0)
                                    'syntax-object)
                               #f)
                             #f)
-                        (symbol? (vector-ref #{vars 35192}# 1))
+                        (symbol? (vector-ref #{vars 35502}# 1))
                         #f))
-                  (cons (if (if (null? (car #{w 35194}#))
-                              (null? (cdr #{w 35194}#))
+                  (cons (if (if (null? (car #{w 35504}#))
+                              (null? (cdr #{w 35504}#))
                               #f)
-                          #{vars 35192}#
-                          (if (if (vector? #{vars 35192}#)
-                                (if (= (vector-length #{vars 35192}#) 4)
-                                  (eq? (vector-ref #{vars 35192}# 0)
+                          #{vars 35502}#
+                          (if (if (vector? #{vars 35502}#)
+                                (if (= (vector-length #{vars 35502}#) 4)
+                                  (eq? (vector-ref #{vars 35502}# 0)
                                        'syntax-object)
                                   #f)
                                 #f)
-                            (let ((#{expression 35328}#
-                                    (vector-ref #{vars 35192}# 1))
-                                  (#{wrap 35329}#
-                                    (let ((#{w2 35339}#
-                                            (vector-ref #{vars 35192}# 2)))
-                                      (let ((#{m1 35340}# (car #{w 35194}#))
-                                            (#{s1 35341}# (cdr #{w 35194}#)))
-                                        (if (null? #{m1 35340}#)
-                                          (if (null? #{s1 35341}#)
-                                            #{w2 35339}#
-                                            (cons (car #{w2 35339}#)
-                                                  (let ((#{m2 35358}#
-                                                          (cdr #{w2 35339}#)))
-                                                    (if (null? #{m2 35358}#)
-                                                      #{s1 35341}#
+                            (let ((#{expression 35638}#
+                                    (vector-ref #{vars 35502}# 1))
+                                  (#{wrap 35639}#
+                                    (let ((#{w2 35649}#
+                                            (vector-ref #{vars 35502}# 2)))
+                                      (let ((#{m1 35650}# (car #{w 35504}#))
+                                            (#{s1 35651}# (cdr #{w 35504}#)))
+                                        (if (null? #{m1 35650}#)
+                                          (if (null? #{s1 35651}#)
+                                            #{w2 35649}#
+                                            (cons (car #{w2 35649}#)
+                                                  (let ((#{m2 35668}#
+                                                          (cdr #{w2 35649}#)))
+                                                    (if (null? #{m2 35668}#)
+                                                      #{s1 35651}#
                                                       (append
-                                                        #{s1 35341}#
-                                                        #{m2 35358}#)))))
-                                          (cons (let ((#{m2 35366}#
-                                                        (car #{w2 35339}#)))
-                                                  (if (null? #{m2 35366}#)
-                                                    #{m1 35340}#
+                                                        #{s1 35651}#
+                                                        #{m2 35668}#)))))
+                                          (cons (let ((#{m2 35676}#
+                                                        (car #{w2 35649}#)))
+                                                  (if (null? #{m2 35676}#)
+                                                    #{m1 35650}#
                                                     (append
-                                                      #{m1 35340}#
-                                                      #{m2 35366}#)))
-                                                (let ((#{m2 35374}#
-                                                        (cdr #{w2 35339}#)))
-                                                  (if (null? #{m2 35374}#)
-                                                    #{s1 35341}#
+                                                      #{m1 35650}#
+                                                      #{m2 35676}#)))
+                                                (let ((#{m2 35684}#
+                                                        (cdr #{w2 35649}#)))
+                                                  (if (null? #{m2 35684}#)
+                                                    #{s1 35651}#
                                                     (append
-                                                      #{s1 35341}#
-                                                      #{m2 35374}#))))))))
-                                  (#{module 35330}#
-                                    (vector-ref #{vars 35192}# 3)))
+                                                      #{s1 35651}#
+                                                      #{m2 35684}#))))))))
+                                  (#{module 35640}#
+                                    (vector-ref #{vars 35502}# 3)))
                               (vector
                                 'syntax-object
-                                #{expression 35328}#
-                                #{wrap 35329}#
-                                #{module 35330}#))
-                            (if (null? #{vars 35192}#)
-                              #{vars 35192}#
+                                #{expression 35638}#
+                                #{wrap 35639}#
+                                #{module 35640}#))
+                            (if (null? #{vars 35502}#)
+                              #{vars 35502}#
                               (vector
                                 'syntax-object
-                                #{vars 35192}#
-                                #{w 35194}#
+                                #{vars 35502}#
+                                #{w 35504}#
                                 #f))))
-                        #{ls 35193}#)
-                  (if (null? #{vars 35192}#)
-                    #{ls 35193}#
-                    (if (if (vector? #{vars 35192}#)
-                          (if (= (vector-length #{vars 35192}#) 4)
-                            (eq? (vector-ref #{vars 35192}# 0)
+                        #{ls 35503}#)
+                  (if (null? #{vars 35502}#)
+                    #{ls 35503}#
+                    (if (if (vector? #{vars 35502}#)
+                          (if (= (vector-length #{vars 35502}#) 4)
+                            (eq? (vector-ref #{vars 35502}# 0)
                                  'syntax-object)
                             #f)
                           #f)
-                      (#{lvl 35189}#
-                        (vector-ref #{vars 35192}# 1)
-                        #{ls 35193}#
-                        (let ((#{w2 35415}# (vector-ref #{vars 35192}# 2)))
-                          (let ((#{m1 35416}# (car #{w 35194}#))
-                                (#{s1 35417}# (cdr #{w 35194}#)))
-                            (if (null? #{m1 35416}#)
-                              (if (null? #{s1 35417}#)
-                                #{w2 35415}#
-                                (cons (car #{w2 35415}#)
-                                      (let ((#{m2 35428}# (cdr #{w2 35415}#)))
-                                        (if (null? #{m2 35428}#)
-                                          #{s1 35417}#
+                      (#{lvl 35499}#
+                        (vector-ref #{vars 35502}# 1)
+                        #{ls 35503}#
+                        (let ((#{w2 35725}# (vector-ref #{vars 35502}# 2)))
+                          (let ((#{m1 35726}# (car #{w 35504}#))
+                                (#{s1 35727}# (cdr #{w 35504}#)))
+                            (if (null? #{m1 35726}#)
+                              (if (null? #{s1 35727}#)
+                                #{w2 35725}#
+                                (cons (car #{w2 35725}#)
+                                      (let ((#{m2 35738}# (cdr #{w2 35725}#)))
+                                        (if (null? #{m2 35738}#)
+                                          #{s1 35727}#
                                           (append
-                                            #{s1 35417}#
-                                            #{m2 35428}#)))))
-                              (cons (let ((#{m2 35436}# (car #{w2 35415}#)))
-                                      (if (null? #{m2 35436}#)
-                                        #{m1 35416}#
-                                        (append #{m1 35416}# #{m2 35436}#)))
-                                    (let ((#{m2 35444}# (cdr #{w2 35415}#)))
-                                      (if (null? #{m2 35444}#)
-                                        #{s1 35417}#
+                                            #{s1 35727}#
+                                            #{m2 35738}#)))))
+                              (cons (let ((#{m2 35746}# (car #{w2 35725}#)))
+                                      (if (null? #{m2 35746}#)
+                                        #{m1 35726}#
+                                        (append #{m1 35726}# #{m2 35746}#)))
+                                    (let ((#{m2 35754}# (cdr #{w2 35725}#)))
+                                      (if (null? #{m2 35754}#)
+                                        #{s1 35727}#
                                         (append
-                                          #{s1 35417}#
-                                          #{m2 35444}#))))))))
-                      (cons #{vars 35192}# #{ls 35193}#))))))))
-         (#{lvl 35189}# #{vars 35188}# '() '(()))))))
+                                          #{s1 35727}#
+                                          #{m2 35754}#))))))))
+                      (cons #{vars 35502}# #{ls 35503}#))))))))
+         (#{lvl 35499}# #{vars 35498}# '() '(()))))))
   (begin
     (module-define!
       (current-module)
@@ -9091,2070 +9027,2070 @@
         'let-syntax
         'local-syntax
         #f))
-    (#{global-extend 4411}#
+    (#{global-extend 4408}#
       'core
       'syntax-parameterize
-      (lambda (#{e 4588}#
-               #{r 4589}#
-               #{w 4590}#
-               #{s 4591}#
-               #{mod 4592}#)
-        (let ((#{tmp 4594}#
+      (lambda (#{e 4585}#
+               #{r 4586}#
+               #{w 4587}#
+               #{s 4588}#
+               #{mod 4589}#)
+        (let ((#{tmp 4591}#
                 ($sc-dispatch
-                  #{e 4588}#
+                  #{e 4585}#
                   '(_ #(each (any any)) any . each-any))))
-          (if (if #{tmp 4594}#
+          (if (if #{tmp 4591}#
                 (@apply
-                  (lambda (#{var 4598}#
-                           #{val 4599}#
-                           #{e1 4600}#
-                           #{e2 4601}#)
-                    (#{valid-bound-ids? 4436}# #{var 4598}#))
-                  #{tmp 4594}#)
+                  (lambda (#{var 4595}#
+                           #{val 4596}#
+                           #{e1 4597}#
+                           #{e2 4598}#)
+                    (#{valid-bound-ids? 4433}# #{var 4595}#))
+                  #{tmp 4591}#)
                 #f)
             (@apply
-              (lambda (#{var 4686}#
-                       #{val 4687}#
-                       #{e1 4688}#
-                       #{e2 4689}#)
-                (let ((#{names 4690}#
-                        (map (lambda (#{x 5039}#)
+              (lambda (#{var 4683}#
+                       #{val 4684}#
+                       #{e1 4685}#
+                       #{e2 4686}#)
+                (let ((#{names 4687}#
+                        (map (lambda (#{x 5036}#)
                                (call-with-values
                                  (lambda ()
-                                   (#{resolve-identifier 4433}#
-                                     #{x 5039}#
-                                     #{w 4590}#
-                                     #{r 4589}#
-                                     #{mod 4592}#
+                                   (#{resolve-identifier 4430}#
+                                     #{x 5036}#
+                                     #{w 4587}#
+                                     #{r 4586}#
+                                     #{mod 4589}#
                                      #f))
-                                 (lambda (#{type 5042}#
-                                          #{value 5043}#
-                                          #{mod 5044}#)
-                                   (if (eqv? #{type 5042}# 'displaced-lexical)
+                                 (lambda (#{type 5039}#
+                                          #{value 5040}#
+                                          #{mod 5041}#)
+                                   (if (eqv? #{type 5039}# 'displaced-lexical)
                                      (syntax-violation
                                        'syntax-parameterize
                                        "identifier out of context"
-                                       #{e 4588}#
-                                       (let ((#{x 5057}#
+                                       #{e 4585}#
+                                       (let ((#{x 5054}#
                                                (begin
-                                                 (if (if (pair? #{x 5039}#)
-                                                       #{s 4591}#
+                                                 (if (if (pair? #{x 5036}#)
+                                                       #{s 4588}#
                                                        #f)
                                                    (set-source-properties!
-                                                     #{x 5039}#
-                                                     #{s 4591}#))
-                                                 #{x 5039}#)))
-                                         (if (if (null? (car #{w 4590}#))
-                                               (null? (cdr #{w 4590}#))
+                                                     #{x 5036}#
+                                                     #{s 4588}#))
+                                                 #{x 5036}#)))
+                                         (if (if (null? (car #{w 4587}#))
+                                               (null? (cdr #{w 4587}#))
                                                #f)
-                                           #{x 5057}#
-                                           (if (if (vector? #{x 5057}#)
+                                           #{x 5054}#
+                                           (if (if (vector? #{x 5054}#)
                                                  (if (= (vector-length
-                                                          #{x 5057}#)
+                                                          #{x 5054}#)
                                                         4)
                                                    (eq? (vector-ref
-                                                          #{x 5057}#
+                                                          #{x 5054}#
                                                           0)
                                                         'syntax-object)
                                                    #f)
                                                  #f)
-                                             (let ((#{expression 5089}#
-                                                     (vector-ref #{x 5057}# 1))
-                                                   (#{wrap 5090}#
-                                                     (let ((#{w2 5098}#
+                                             (let ((#{expression 5086}#
+                                                     (vector-ref #{x 5054}# 1))
+                                                   (#{wrap 5087}#
+                                                     (let ((#{w2 5095}#
                                                              (vector-ref
-                                                               #{x 5057}#
+                                                               #{x 5054}#
                                                                2)))
-                                                       (let ((#{m1 5099}#
-                                                               (car #{w 
4590}#))
-                                                             (#{s1 5100}#
-                                                               (cdr #{w 
4590}#)))
-                                                         (if (null? #{m1 
5099}#)
-                                                           (if (null? #{s1 
5100}#)
-                                                             #{w2 5098}#
-                                                             (cons (car #{w2 
5098}#)
-                                                                   (let ((#{m2 
5115}#
-                                                                           
(cdr #{w2 5098}#)))
-                                                                     (if 
(null? #{m2 5115}#)
-                                                                       #{s1 
5100}#
+                                                       (let ((#{m1 5096}#
+                                                               (car #{w 
4587}#))
+                                                             (#{s1 5097}#
+                                                               (cdr #{w 
4587}#)))
+                                                         (if (null? #{m1 
5096}#)
+                                                           (if (null? #{s1 
5097}#)
+                                                             #{w2 5095}#
+                                                             (cons (car #{w2 
5095}#)
+                                                                   (let ((#{m2 
5112}#
+                                                                           
(cdr #{w2 5095}#)))
+                                                                     (if 
(null? #{m2 5112}#)
+                                                                       #{s1 
5097}#
                                                                        (append
-                                                                         #{s1 
5100}#
-                                                                         #{m2 
5115}#)))))
-                                                           (cons (let ((#{m2 
5123}#
-                                                                         (car 
#{w2 5098}#)))
-                                                                   (if (null? 
#{m2 5123}#)
-                                                                     #{m1 
5099}#
+                                                                         #{s1 
5097}#
+                                                                         #{m2 
5112}#)))))
+                                                           (cons (let ((#{m2 
5120}#
+                                                                         (car 
#{w2 5095}#)))
+                                                                   (if (null? 
#{m2 5120}#)
+                                                                     #{m1 
5096}#
                                                                      (append
-                                                                       #{m1 
5099}#
-                                                                       #{m2 
5123}#)))
-                                                                 (let ((#{m2 
5131}#
-                                                                         (cdr 
#{w2 5098}#)))
-                                                                   (if (null? 
#{m2 5131}#)
-                                                                     #{s1 
5100}#
+                                                                       #{m1 
5096}#
+                                                                       #{m2 
5120}#)))
+                                                                 (let ((#{m2 
5128}#
+                                                                         (cdr 
#{w2 5095}#)))
+                                                                   (if (null? 
#{m2 5128}#)
+                                                                     #{s1 
5097}#
                                                                      (append
-                                                                       #{s1 
5100}#
-                                                                       #{m2 
5131}#))))))))
-                                                   (#{module 5091}#
+                                                                       #{s1 
5097}#
+                                                                       #{m2 
5128}#))))))))
+                                                   (#{module 5088}#
                                                      (vector-ref
-                                                       #{x 5057}#
+                                                       #{x 5054}#
                                                        3)))
                                                (vector
                                                  'syntax-object
-                                                 #{expression 5089}#
-                                                 #{wrap 5090}#
-                                                 #{module 5091}#))
-                                             (if (null? #{x 5057}#)
-                                               #{x 5057}#
+                                                 #{expression 5086}#
+                                                 #{wrap 5087}#
+                                                 #{module 5088}#))
+                                             (if (null? #{x 5054}#)
+                                               #{x 5054}#
                                                (vector
                                                  'syntax-object
-                                                 #{x 5057}#
-                                                 #{w 4590}#
-                                                 #{mod 5044}#))))))
-                                     (if (eqv? #{type 5042}# 'syntax-parameter)
-                                       #{value 5043}#
+                                                 #{x 5054}#
+                                                 #{w 4587}#
+                                                 #{mod 5041}#))))))
+                                     (if (eqv? #{type 5039}# 'syntax-parameter)
+                                       #{value 5040}#
                                        (syntax-violation
                                          'syntax-parameterize
                                          "invalid syntax parameter"
-                                         #{e 4588}#
-                                         (let ((#{x 5158}#
+                                         #{e 4585}#
+                                         (let ((#{x 5155}#
                                                  (begin
-                                                   (if (if (pair? #{x 5039}#)
-                                                         #{s 4591}#
+                                                   (if (if (pair? #{x 5036}#)
+                                                         #{s 4588}#
                                                          #f)
                                                      (set-source-properties!
-                                                       #{x 5039}#
-                                                       #{s 4591}#))
-                                                   #{x 5039}#)))
-                                           (if (if (null? (car #{w 4590}#))
-                                                 (null? (cdr #{w 4590}#))
+                                                       #{x 5036}#
+                                                       #{s 4588}#))
+                                                   #{x 5036}#)))
+                                           (if (if (null? (car #{w 4587}#))
+                                                 (null? (cdr #{w 4587}#))
                                                  #f)
-                                             #{x 5158}#
-                                             (if (if (vector? #{x 5158}#)
+                                             #{x 5155}#
+                                             (if (if (vector? #{x 5155}#)
                                                    (if (= (vector-length
-                                                            #{x 5158}#)
+                                                            #{x 5155}#)
                                                           4)
                                                      (eq? (vector-ref
-                                                            #{x 5158}#
+                                                            #{x 5155}#
                                                             0)
                                                           'syntax-object)
                                                      #f)
                                                    #f)
-                                               (let ((#{expression 5190}#
+                                               (let ((#{expression 5187}#
                                                        (vector-ref
-                                                         #{x 5158}#
+                                                         #{x 5155}#
                                                          1))
-                                                     (#{wrap 5191}#
-                                                       (let ((#{w2 5199}#
+                                                     (#{wrap 5188}#
+                                                       (let ((#{w2 5196}#
                                                                (vector-ref
-                                                                 #{x 5158}#
+                                                                 #{x 5155}#
                                                                  2)))
-                                                         (let ((#{m1 5200}#
-                                                                 (car #{w 
4590}#))
-                                                               (#{s1 5201}#
-                                                                 (cdr #{w 
4590}#)))
-                                                           (if (null? #{m1 
5200}#)
-                                                             (if (null? #{s1 
5201}#)
-                                                               #{w2 5199}#
-                                                               (cons (car #{w2 
5199}#)
-                                                                     (let 
((#{m2 5216}#
-                                                                             
(cdr #{w2 5199}#)))
-                                                                       (if 
(null? #{m2 5216}#)
-                                                                         #{s1 
5201}#
+                                                         (let ((#{m1 5197}#
+                                                                 (car #{w 
4587}#))
+                                                               (#{s1 5198}#
+                                                                 (cdr #{w 
4587}#)))
+                                                           (if (null? #{m1 
5197}#)
+                                                             (if (null? #{s1 
5198}#)
+                                                               #{w2 5196}#
+                                                               (cons (car #{w2 
5196}#)
+                                                                     (let 
((#{m2 5213}#
+                                                                             
(cdr #{w2 5196}#)))
+                                                                       (if 
(null? #{m2 5213}#)
+                                                                         #{s1 
5198}#
                                                                          
(append
-                                                                           
#{s1 5201}#
-                                                                           
#{m2 5216}#)))))
-                                                             (cons (let ((#{m2 
5224}#
-                                                                           
(car #{w2 5199}#)))
-                                                                     (if 
(null? #{m2 5224}#)
-                                                                       #{m1 
5200}#
+                                                                           
#{s1 5198}#
+                                                                           
#{m2 5213}#)))))
+                                                             (cons (let ((#{m2 
5221}#
+                                                                           
(car #{w2 5196}#)))
+                                                                     (if 
(null? #{m2 5221}#)
+                                                                       #{m1 
5197}#
                                                                        (append
-                                                                         #{m1 
5200}#
-                                                                         #{m2 
5224}#)))
-                                                                   (let ((#{m2 
5232}#
-                                                                           
(cdr #{w2 5199}#)))
-                                                                     (if 
(null? #{m2 5232}#)
-                                                                       #{s1 
5201}#
+                                                                         #{m1 
5197}#
+                                                                         #{m2 
5221}#)))
+                                                                   (let ((#{m2 
5229}#
+                                                                           
(cdr #{w2 5196}#)))
+                                                                     (if 
(null? #{m2 5229}#)
+                                                                       #{s1 
5198}#
                                                                        (append
-                                                                         #{s1 
5201}#
-                                                                         #{m2 
5232}#))))))))
-                                                     (#{module 5192}#
+                                                                         #{s1 
5198}#
+                                                                         #{m2 
5229}#))))))))
+                                                     (#{module 5189}#
                                                        (vector-ref
-                                                         #{x 5158}#
+                                                         #{x 5155}#
                                                          3)))
                                                  (vector
                                                    'syntax-object
-                                                   #{expression 5190}#
-                                                   #{wrap 5191}#
-                                                   #{module 5192}#))
-                                               (if (null? #{x 5158}#)
-                                                 #{x 5158}#
+                                                   #{expression 5187}#
+                                                   #{wrap 5188}#
+                                                   #{module 5189}#))
+                                               (if (null? #{x 5155}#)
+                                                 #{x 5155}#
                                                  (vector
                                                    'syntax-object
-                                                   #{x 5158}#
-                                                   #{w 4590}#
-                                                   #{mod 5044}#)))))))))))
-                             #{var 4686}#))
-                      (#{bindings 4691}#
-                        (let ((#{trans-r 5247}#
-                                (#{macros-only-env 4410}# #{r 4589}#)))
-                          (map (lambda (#{x 5248}#)
+                                                   #{x 5155}#
+                                                   #{w 4587}#
+                                                   #{mod 5041}#)))))))))))
+                             #{var 4683}#))
+                      (#{bindings 4688}#
+                        (let ((#{trans-r 5244}#
+                                (#{macros-only-env 4407}# #{r 4586}#)))
+                          (map (lambda (#{x 5245}#)
                                  (cons 'macro
-                                       (#{eval-local-transformer 4452}#
-                                         (#{chi 4446}#
-                                           #{x 5248}#
-                                           #{trans-r 5247}#
-                                           #{w 4590}#
-                                           #{mod 4592}#)
-                                         #{mod 4592}#)))
-                               #{val 4687}#))))
-                  (#{chi-body 4450}#
-                    (cons #{e1 4688}# #{e2 4689}#)
-                    (let ((#{x 4703}#
+                                       (#{eval-local-transformer 4449}#
+                                         (#{expand 4443}#
+                                           #{x 5245}#
+                                           #{trans-r 5244}#
+                                           #{w 4587}#
+                                           #{mod 4589}#)
+                                         #{mod 4589}#)))
+                               #{val 4684}#))))
+                  (#{expand-body 4447}#
+                    (cons #{e1 4685}# #{e2 4686}#)
+                    (let ((#{x 4700}#
                             (begin
-                              (if (if (pair? #{e 4588}#) #{s 4591}# #f)
-                                (set-source-properties! #{e 4588}# #{s 4591}#))
-                              #{e 4588}#)))
-                      (if (if (null? (car #{w 4590}#))
-                            (null? (cdr #{w 4590}#))
+                              (if (if (pair? #{e 4585}#) #{s 4588}# #f)
+                                (set-source-properties! #{e 4585}# #{s 4588}#))
+                              #{e 4585}#)))
+                      (if (if (null? (car #{w 4587}#))
+                            (null? (cdr #{w 4587}#))
                             #f)
-                        #{x 4703}#
-                        (if (if (vector? #{x 4703}#)
-                              (if (= (vector-length #{x 4703}#) 4)
-                                (eq? (vector-ref #{x 4703}# 0) 'syntax-object)
+                        #{x 4700}#
+                        (if (if (vector? #{x 4700}#)
+                              (if (= (vector-length #{x 4700}#) 4)
+                                (eq? (vector-ref #{x 4700}# 0) 'syntax-object)
                                 #f)
                               #f)
-                          (let ((#{expression 4735}# (vector-ref #{x 4703}# 1))
-                                (#{wrap 4736}#
-                                  (let ((#{w2 4744}#
-                                          (vector-ref #{x 4703}# 2)))
-                                    (let ((#{m1 4745}# (car #{w 4590}#))
-                                          (#{s1 4746}# (cdr #{w 4590}#)))
-                                      (if (null? #{m1 4745}#)
-                                        (if (null? #{s1 4746}#)
-                                          #{w2 4744}#
-                                          (cons (car #{w2 4744}#)
-                                                (let ((#{m2 4761}#
-                                                        (cdr #{w2 4744}#)))
-                                                  (if (null? #{m2 4761}#)
-                                                    #{s1 4746}#
+                          (let ((#{expression 4732}# (vector-ref #{x 4700}# 1))
+                                (#{wrap 4733}#
+                                  (let ((#{w2 4741}#
+                                          (vector-ref #{x 4700}# 2)))
+                                    (let ((#{m1 4742}# (car #{w 4587}#))
+                                          (#{s1 4743}# (cdr #{w 4587}#)))
+                                      (if (null? #{m1 4742}#)
+                                        (if (null? #{s1 4743}#)
+                                          #{w2 4741}#
+                                          (cons (car #{w2 4741}#)
+                                                (let ((#{m2 4758}#
+                                                        (cdr #{w2 4741}#)))
+                                                  (if (null? #{m2 4758}#)
+                                                    #{s1 4743}#
                                                     (append
-                                                      #{s1 4746}#
-                                                      #{m2 4761}#)))))
-                                        (cons (let ((#{m2 4769}#
-                                                      (car #{w2 4744}#)))
-                                                (if (null? #{m2 4769}#)
-                                                  #{m1 4745}#
+                                                      #{s1 4743}#
+                                                      #{m2 4758}#)))))
+                                        (cons (let ((#{m2 4766}#
+                                                      (car #{w2 4741}#)))
+                                                (if (null? #{m2 4766}#)
+                                                  #{m1 4742}#
                                                   (append
-                                                    #{m1 4745}#
-                                                    #{m2 4769}#)))
-                                              (let ((#{m2 4777}#
-                                                      (cdr #{w2 4744}#)))
-                                                (if (null? #{m2 4777}#)
-                                                  #{s1 4746}#
+                                                    #{m1 4742}#
+                                                    #{m2 4766}#)))
+                                              (let ((#{m2 4774}#
+                                                      (cdr #{w2 4741}#)))
+                                                (if (null? #{m2 4774}#)
+                                                  #{s1 4743}#
                                                   (append
-                                                    #{s1 4746}#
-                                                    #{m2 4777}#))))))))
-                                (#{module 4737}# (vector-ref #{x 4703}# 3)))
+                                                    #{s1 4743}#
+                                                    #{m2 4774}#))))))))
+                                (#{module 4734}# (vector-ref #{x 4700}# 3)))
                             (vector
                               'syntax-object
-                              #{expression 4735}#
-                              #{wrap 4736}#
-                              #{module 4737}#))
-                          (if (null? #{x 4703}#)
-                            #{x 4703}#
+                              #{expression 4732}#
+                              #{wrap 4733}#
+                              #{module 4734}#))
+                          (if (null? #{x 4700}#)
+                            #{x 4700}#
                             (vector
                               'syntax-object
-                              #{x 4703}#
-                              #{w 4590}#
-                              #{mod 4592}#)))))
-                    (#{extend-env 4408}#
-                      #{names 4690}#
-                      #{bindings 4691}#
-                      #{r 4589}#)
-                    #{w 4590}#
-                    #{mod 4592}#)))
-              #{tmp 4594}#)
+                              #{x 4700}#
+                              #{w 4587}#
+                              #{mod 4589}#)))))
+                    (#{extend-env 4405}#
+                      #{names 4687}#
+                      #{bindings 4688}#
+                      #{r 4586}#)
+                    #{w 4587}#
+                    #{mod 4589}#)))
+              #{tmp 4591}#)
             (syntax-violation
               'syntax-parameterize
               "bad syntax"
-              (let ((#{x 5472}#
+              (let ((#{x 5469}#
                       (begin
-                        (if (if (pair? #{e 4588}#) #{s 4591}# #f)
-                          (set-source-properties! #{e 4588}# #{s 4591}#))
-                        #{e 4588}#)))
-                (if (if (null? (car #{w 4590}#))
-                      (null? (cdr #{w 4590}#))
+                        (if (if (pair? #{e 4585}#) #{s 4588}# #f)
+                          (set-source-properties! #{e 4585}# #{s 4588}#))
+                        #{e 4585}#)))
+                (if (if (null? (car #{w 4587}#))
+                      (null? (cdr #{w 4587}#))
                       #f)
-                  #{x 5472}#
-                  (if (if (vector? #{x 5472}#)
-                        (if (= (vector-length #{x 5472}#) 4)
-                          (eq? (vector-ref #{x 5472}# 0) 'syntax-object)
+                  #{x 5469}#
+                  (if (if (vector? #{x 5469}#)
+                        (if (= (vector-length #{x 5469}#) 4)
+                          (eq? (vector-ref #{x 5469}# 0) 'syntax-object)
                           #f)
                         #f)
-                    (let ((#{expression 5504}# (vector-ref #{x 5472}# 1))
-                          (#{wrap 5505}#
-                            (let ((#{w2 5513}# (vector-ref #{x 5472}# 2)))
-                              (let ((#{m1 5514}# (car #{w 4590}#))
-                                    (#{s1 5515}# (cdr #{w 4590}#)))
-                                (if (null? #{m1 5514}#)
-                                  (if (null? #{s1 5515}#)
-                                    #{w2 5513}#
-                                    (cons (car #{w2 5513}#)
-                                          (let ((#{m2 5530}#
-                                                  (cdr #{w2 5513}#)))
-                                            (if (null? #{m2 5530}#)
-                                              #{s1 5515}#
+                    (let ((#{expression 5501}# (vector-ref #{x 5469}# 1))
+                          (#{wrap 5502}#
+                            (let ((#{w2 5510}# (vector-ref #{x 5469}# 2)))
+                              (let ((#{m1 5511}# (car #{w 4587}#))
+                                    (#{s1 5512}# (cdr #{w 4587}#)))
+                                (if (null? #{m1 5511}#)
+                                  (if (null? #{s1 5512}#)
+                                    #{w2 5510}#
+                                    (cons (car #{w2 5510}#)
+                                          (let ((#{m2 5527}#
+                                                  (cdr #{w2 5510}#)))
+                                            (if (null? #{m2 5527}#)
+                                              #{s1 5512}#
                                               (append
-                                                #{s1 5515}#
-                                                #{m2 5530}#)))))
-                                  (cons (let ((#{m2 5538}# (car #{w2 5513}#)))
-                                          (if (null? #{m2 5538}#)
-                                            #{m1 5514}#
-                                            (append #{m1 5514}# #{m2 5538}#)))
-                                        (let ((#{m2 5546}# (cdr #{w2 5513}#)))
-                                          (if (null? #{m2 5546}#)
-                                            #{s1 5515}#
+                                                #{s1 5512}#
+                                                #{m2 5527}#)))))
+                                  (cons (let ((#{m2 5535}# (car #{w2 5510}#)))
+                                          (if (null? #{m2 5535}#)
+                                            #{m1 5511}#
+                                            (append #{m1 5511}# #{m2 5535}#)))
+                                        (let ((#{m2 5543}# (cdr #{w2 5510}#)))
+                                          (if (null? #{m2 5543}#)
+                                            #{s1 5512}#
                                             (append
-                                              #{s1 5515}#
-                                              #{m2 5546}#))))))))
-                          (#{module 5506}# (vector-ref #{x 5472}# 3)))
+                                              #{s1 5512}#
+                                              #{m2 5543}#))))))))
+                          (#{module 5503}# (vector-ref #{x 5469}# 3)))
                       (vector
                         'syntax-object
-                        #{expression 5504}#
-                        #{wrap 5505}#
-                        #{module 5506}#))
-                    (if (null? #{x 5472}#)
-                      #{x 5472}#
+                        #{expression 5501}#
+                        #{wrap 5502}#
+                        #{module 5503}#))
+                    (if (null? #{x 5469}#)
+                      #{x 5469}#
                       (vector
                         'syntax-object
-                        #{x 5472}#
-                        #{w 4590}#
-                        #{mod 4592}#))))))))))
+                        #{x 5469}#
+                        #{w 4587}#
+                        #{mod 4589}#))))))))))
     (module-define!
       (current-module)
       'quote
       (make-syntax-transformer
         'quote
         'core
-        (lambda (#{e 5574}#
-                 #{r 5575}#
-                 #{w 5576}#
-                 #{s 5577}#
-                 #{mod 5578}#)
-          (let ((#{tmp 5580}# ($sc-dispatch #{e 5574}# '(_ any))))
-            (if #{tmp 5580}#
+        (lambda (#{e 5571}#
+                 #{r 5572}#
+                 #{w 5573}#
+                 #{s 5574}#
+                 #{mod 5575}#)
+          (let ((#{tmp 5577}# ($sc-dispatch #{e 5571}# '(_ any))))
+            (if #{tmp 5577}#
               (@apply
-                (lambda (#{e 5583}#)
-                  (let ((#{exp 5587}#
-                          (#{strip 4459}# #{e 5583}# #{w 5576}#)))
+                (lambda (#{e 5580}#)
+                  (let ((#{exp 5584}#
+                          (#{strip 4456}# #{e 5580}# #{w 5573}#)))
                     (make-struct/no-tail
                       (vector-ref %expanded-vtables 1)
-                      #{s 5577}#
-                      #{exp 5587}#)))
-                #{tmp 5580}#)
+                      #{s 5574}#
+                      #{exp 5584}#)))
+                #{tmp 5577}#)
               (syntax-violation
                 'quote
                 "bad syntax"
-                (let ((#{x 5601}#
+                (let ((#{x 5598}#
                         (begin
-                          (if (if (pair? #{e 5574}#) #{s 5577}# #f)
-                            (set-source-properties! #{e 5574}# #{s 5577}#))
-                          #{e 5574}#)))
-                  (if (if (null? (car #{w 5576}#))
-                        (null? (cdr #{w 5576}#))
+                          (if (if (pair? #{e 5571}#) #{s 5574}# #f)
+                            (set-source-properties! #{e 5571}# #{s 5574}#))
+                          #{e 5571}#)))
+                  (if (if (null? (car #{w 5573}#))
+                        (null? (cdr #{w 5573}#))
                         #f)
-                    #{x 5601}#
-                    (if (if (vector? #{x 5601}#)
-                          (if (= (vector-length #{x 5601}#) 4)
-                            (eq? (vector-ref #{x 5601}# 0) 'syntax-object)
+                    #{x 5598}#
+                    (if (if (vector? #{x 5598}#)
+                          (if (= (vector-length #{x 5598}#) 4)
+                            (eq? (vector-ref #{x 5598}# 0) 'syntax-object)
                             #f)
                           #f)
-                      (let ((#{expression 5633}# (vector-ref #{x 5601}# 1))
-                            (#{wrap 5634}#
-                              (let ((#{w2 5642}# (vector-ref #{x 5601}# 2)))
-                                (let ((#{m1 5643}# (car #{w 5576}#))
-                                      (#{s1 5644}# (cdr #{w 5576}#)))
-                                  (if (null? #{m1 5643}#)
-                                    (if (null? #{s1 5644}#)
-                                      #{w2 5642}#
-                                      (cons (car #{w2 5642}#)
-                                            (let ((#{m2 5659}#
-                                                    (cdr #{w2 5642}#)))
-                                              (if (null? #{m2 5659}#)
-                                                #{s1 5644}#
+                      (let ((#{expression 5630}# (vector-ref #{x 5598}# 1))
+                            (#{wrap 5631}#
+                              (let ((#{w2 5639}# (vector-ref #{x 5598}# 2)))
+                                (let ((#{m1 5640}# (car #{w 5573}#))
+                                      (#{s1 5641}# (cdr #{w 5573}#)))
+                                  (if (null? #{m1 5640}#)
+                                    (if (null? #{s1 5641}#)
+                                      #{w2 5639}#
+                                      (cons (car #{w2 5639}#)
+                                            (let ((#{m2 5656}#
+                                                    (cdr #{w2 5639}#)))
+                                              (if (null? #{m2 5656}#)
+                                                #{s1 5641}#
                                                 (append
-                                                  #{s1 5644}#
-                                                  #{m2 5659}#)))))
-                                    (cons (let ((#{m2 5667}#
-                                                  (car #{w2 5642}#)))
-                                            (if (null? #{m2 5667}#)
-                                              #{m1 5643}#
+                                                  #{s1 5641}#
+                                                  #{m2 5656}#)))))
+                                    (cons (let ((#{m2 5664}#
+                                                  (car #{w2 5639}#)))
+                                            (if (null? #{m2 5664}#)
+                                              #{m1 5640}#
                                               (append
-                                                #{m1 5643}#
-                                                #{m2 5667}#)))
-                                          (let ((#{m2 5675}#
-                                                  (cdr #{w2 5642}#)))
-                                            (if (null? #{m2 5675}#)
-                                              #{s1 5644}#
+                                                #{m1 5640}#
+                                                #{m2 5664}#)))
+                                          (let ((#{m2 5672}#
+                                                  (cdr #{w2 5639}#)))
+                                            (if (null? #{m2 5672}#)
+                                              #{s1 5641}#
                                               (append
-                                                #{s1 5644}#
-                                                #{m2 5675}#))))))))
-                            (#{module 5635}# (vector-ref #{x 5601}# 3)))
+                                                #{s1 5641}#
+                                                #{m2 5672}#))))))))
+                            (#{module 5632}# (vector-ref #{x 5598}# 3)))
                         (vector
                           'syntax-object
-                          #{expression 5633}#
-                          #{wrap 5634}#
-                          #{module 5635}#))
-                      (if (null? #{x 5601}#)
-                        #{x 5601}#
+                          #{expression 5630}#
+                          #{wrap 5631}#
+                          #{module 5632}#))
+                      (if (null? #{x 5598}#)
+                        #{x 5598}#
                         (vector
                           'syntax-object
-                          #{x 5601}#
-                          #{w 5576}#
-                          #{mod 5578}#)))))))))))
-    (#{global-extend 4411}#
+                          #{x 5598}#
+                          #{w 5573}#
+                          #{mod 5575}#)))))))))))
+    (#{global-extend 4408}#
       'core
       'syntax
       (letrec*
-        ((#{gen-syntax 5899}#
-           (lambda (#{src 6362}#
-                    #{e 6363}#
-                    #{r 6364}#
-                    #{maps 6365}#
-                    #{ellipsis? 6366}#
-                    #{mod 6367}#)
-             (if (if (symbol? #{e 6363}#)
+        ((#{gen-syntax 5896}#
+           (lambda (#{src 6359}#
+                    #{e 6360}#
+                    #{r 6361}#
+                    #{maps 6362}#
+                    #{ellipsis? 6363}#
+                    #{mod 6364}#)
+             (if (if (symbol? #{e 6360}#)
                    #t
-                   (if (if (vector? #{e 6363}#)
-                         (if (= (vector-length #{e 6363}#) 4)
-                           (eq? (vector-ref #{e 6363}# 0) 'syntax-object)
+                   (if (if (vector? #{e 6360}#)
+                         (if (= (vector-length #{e 6360}#) 4)
+                           (eq? (vector-ref #{e 6360}# 0) 'syntax-object)
                            #f)
                          #f)
-                     (symbol? (vector-ref #{e 6363}# 1))
+                     (symbol? (vector-ref #{e 6360}# 1))
                      #f))
                (call-with-values
                  (lambda ()
-                   (#{resolve-identifier 4433}#
-                     #{e 6363}#
+                   (#{resolve-identifier 4430}#
+                     #{e 6360}#
                      '(())
-                     #{r 6364}#
-                     #{mod 6367}#
+                     #{r 6361}#
+                     #{mod 6364}#
                      #f))
-                 (lambda (#{type 6396}# #{value 6397}# #{mod 6398}#)
-                   (if (eqv? #{type 6396}# 'syntax)
+                 (lambda (#{type 6393}# #{value 6394}# #{mod 6395}#)
+                   (if (eqv? #{type 6393}# 'syntax)
                      (call-with-values
                        (lambda ()
-                         (#{gen-ref 5900}#
-                           #{src 6362}#
-                           (car #{value 6397}#)
-                           (cdr #{value 6397}#)
-                           #{maps 6365}#))
-                       (lambda (#{var 6404}# #{maps 6405}#)
-                         (values (list 'ref #{var 6404}#) #{maps 6405}#)))
-                     (if (#{ellipsis? 6366}# #{e 6363}#)
+                         (#{gen-ref 5897}#
+                           #{src 6359}#
+                           (car #{value 6394}#)
+                           (cdr #{value 6394}#)
+                           #{maps 6362}#))
+                       (lambda (#{var 6401}# #{maps 6402}#)
+                         (values (list 'ref #{var 6401}#) #{maps 6402}#)))
+                     (if (#{ellipsis? 6363}# #{e 6360}#)
                        (syntax-violation
                          'syntax
                          "misplaced ellipsis"
-                         #{src 6362}#)
-                       (values (list 'quote #{e 6363}#) #{maps 6365}#)))))
-               (let ((#{tmp 6407}#
-                       ($sc-dispatch #{e 6363}# '(any any))))
-                 (if (if #{tmp 6407}#
+                         #{src 6359}#)
+                       (values (list 'quote #{e 6360}#) #{maps 6362}#)))))
+               (let ((#{tmp 6404}#
+                       ($sc-dispatch #{e 6360}# '(any any))))
+                 (if (if #{tmp 6404}#
                        (@apply
-                         (lambda (#{dots 6411}# #{e 6412}#)
-                           (#{ellipsis? 6366}# #{dots 6411}#))
-                         #{tmp 6407}#)
+                         (lambda (#{dots 6408}# #{e 6409}#)
+                           (#{ellipsis? 6363}# #{dots 6408}#))
+                         #{tmp 6404}#)
                        #f)
                    (@apply
-                     (lambda (#{dots 6413}# #{e 6414}#)
-                       (#{gen-syntax 5899}#
-                         #{src 6362}#
-                         #{e 6414}#
-                         #{r 6364}#
-                         #{maps 6365}#
-                         (lambda (#{x 6415}#) #f)
-                         #{mod 6367}#))
-                     #{tmp 6407}#)
-                   (let ((#{tmp 6416}#
-                           ($sc-dispatch #{e 6363}# '(any any . any))))
-                     (if (if #{tmp 6416}#
+                     (lambda (#{dots 6410}# #{e 6411}#)
+                       (#{gen-syntax 5896}#
+                         #{src 6359}#
+                         #{e 6411}#
+                         #{r 6361}#
+                         #{maps 6362}#
+                         (lambda (#{x 6412}#) #f)
+                         #{mod 6364}#))
+                     #{tmp 6404}#)
+                   (let ((#{tmp 6413}#
+                           ($sc-dispatch #{e 6360}# '(any any . any))))
+                     (if (if #{tmp 6413}#
                            (@apply
-                             (lambda (#{x 6420}# #{dots 6421}# #{y 6422}#)
-                               (#{ellipsis? 6366}# #{dots 6421}#))
-                             #{tmp 6416}#)
+                             (lambda (#{x 6417}# #{dots 6418}# #{y 6419}#)
+                               (#{ellipsis? 6363}# #{dots 6418}#))
+                             #{tmp 6413}#)
                            #f)
                        (@apply
-                         (lambda (#{x 6423}# #{dots 6424}# #{y 6425}#)
+                         (lambda (#{x 6420}# #{dots 6421}# #{y 6422}#)
                            (letrec*
-                             ((#{f 6426}#
-                                (lambda (#{y 6434}# #{k 6435}#)
-                                  (let ((#{tmp 6437}#
+                             ((#{f 6423}#
+                                (lambda (#{y 6431}# #{k 6432}#)
+                                  (let ((#{tmp 6434}#
                                           ($sc-dispatch
-                                            #{y 6434}#
+                                            #{y 6431}#
                                             '(any . any))))
-                                    (if (if #{tmp 6437}#
+                                    (if (if #{tmp 6434}#
                                           (@apply
-                                            (lambda (#{dots 6441}# #{y 6442}#)
-                                              (#{ellipsis? 6366}#
-                                                #{dots 6441}#))
-                                            #{tmp 6437}#)
+                                            (lambda (#{dots 6438}# #{y 6439}#)
+                                              (#{ellipsis? 6363}#
+                                                #{dots 6438}#))
+                                            #{tmp 6434}#)
                                           #f)
                                       (@apply
-                                        (lambda (#{dots 6443}# #{y 6444}#)
-                                          (#{f 6426}#
-                                            #{y 6444}#
-                                            (lambda (#{maps 6445}#)
+                                        (lambda (#{dots 6440}# #{y 6441}#)
+                                          (#{f 6423}#
+                                            #{y 6441}#
+                                            (lambda (#{maps 6442}#)
                                               (call-with-values
                                                 (lambda ()
-                                                  (#{k 6435}#
-                                                    (cons '() #{maps 6445}#)))
-                                                (lambda (#{x 6446}#
-                                                         #{maps 6447}#)
-                                                  (if (null? (car #{maps 
6447}#))
+                                                  (#{k 6432}#
+                                                    (cons '() #{maps 6442}#)))
+                                                (lambda (#{x 6443}#
+                                                         #{maps 6444}#)
+                                                  (if (null? (car #{maps 
6444}#))
                                                     (syntax-violation
                                                       'syntax
                                                       "extra ellipsis"
-                                                      #{src 6362}#)
+                                                      #{src 6359}#)
                                                     (values
-                                                      (let ((#{map-env 6451}#
-                                                              (car #{maps 
6447}#)))
+                                                      (let ((#{map-env 6448}#
+                                                              (car #{maps 
6444}#)))
                                                         (list 'apply
                                                               '(primitive
                                                                  append)
-                                                              (#{gen-map 5902}#
-                                                                #{x 6446}#
-                                                                #{map-env 
6451}#)))
-                                                      (cdr #{maps 
6447}#))))))))
-                                        #{tmp 6437}#)
+                                                              (#{gen-map 5899}#
+                                                                #{x 6443}#
+                                                                #{map-env 
6448}#)))
+                                                      (cdr #{maps 
6444}#))))))))
+                                        #{tmp 6434}#)
                                       (call-with-values
                                         (lambda ()
-                                          (#{gen-syntax 5899}#
-                                            #{src 6362}#
-                                            #{y 6434}#
-                                            #{r 6364}#
-                                            #{maps 6365}#
-                                            #{ellipsis? 6366}#
-                                            #{mod 6367}#))
-                                        (lambda (#{y 6454}# #{maps 6455}#)
+                                          (#{gen-syntax 5896}#
+                                            #{src 6359}#
+                                            #{y 6431}#
+                                            #{r 6361}#
+                                            #{maps 6362}#
+                                            #{ellipsis? 6363}#
+                                            #{mod 6364}#))
+                                        (lambda (#{y 6451}# #{maps 6452}#)
                                           (call-with-values
                                             (lambda ()
-                                              (#{k 6435}# #{maps 6455}#))
-                                            (lambda (#{x 6456}# #{maps 6457}#)
+                                              (#{k 6432}# #{maps 6452}#))
+                                            (lambda (#{x 6453}# #{maps 6454}#)
                                               (values
-                                                (if (equal? #{y 6454}# ''())
-                                                  #{x 6456}#
+                                                (if (equal? #{y 6451}# ''())
+                                                  #{x 6453}#
                                                   (list 'append
-                                                        #{x 6456}#
-                                                        #{y 6454}#))
-                                                #{maps 6457}#))))))))))
-                             (#{f 6426}#
-                               #{y 6425}#
-                               (lambda (#{maps 6429}#)
+                                                        #{x 6453}#
+                                                        #{y 6451}#))
+                                                #{maps 6454}#))))))))))
+                             (#{f 6423}#
+                               #{y 6422}#
+                               (lambda (#{maps 6426}#)
                                  (call-with-values
                                    (lambda ()
-                                     (#{gen-syntax 5899}#
-                                       #{src 6362}#
-                                       #{x 6423}#
-                                       #{r 6364}#
-                                       (cons '() #{maps 6429}#)
-                                       #{ellipsis? 6366}#
-                                       #{mod 6367}#))
-                                   (lambda (#{x 6430}# #{maps 6431}#)
-                                     (if (null? (car #{maps 6431}#))
+                                     (#{gen-syntax 5896}#
+                                       #{src 6359}#
+                                       #{x 6420}#
+                                       #{r 6361}#
+                                       (cons '() #{maps 6426}#)
+                                       #{ellipsis? 6363}#
+                                       #{mod 6364}#))
+                                   (lambda (#{x 6427}# #{maps 6428}#)
+                                     (if (null? (car #{maps 6428}#))
                                        (syntax-violation
                                          'syntax
                                          "extra ellipsis"
-                                         #{src 6362}#)
+                                         #{src 6359}#)
                                        (values
-                                         (#{gen-map 5902}#
-                                           #{x 6430}#
-                                           (car #{maps 6431}#))
-                                         (cdr #{maps 6431}#)))))))))
-                         #{tmp 6416}#)
-                       (let ((#{tmp 6473}#
-                               ($sc-dispatch #{e 6363}# '(any . any))))
-                         (if #{tmp 6473}#
+                                         (#{gen-map 5899}#
+                                           #{x 6427}#
+                                           (car #{maps 6428}#))
+                                         (cdr #{maps 6428}#)))))))))
+                         #{tmp 6413}#)
+                       (let ((#{tmp 6470}#
+                               ($sc-dispatch #{e 6360}# '(any . any))))
+                         (if #{tmp 6470}#
                            (@apply
-                             (lambda (#{x 6477}# #{y 6478}#)
+                             (lambda (#{x 6474}# #{y 6475}#)
                                (call-with-values
                                  (lambda ()
-                                   (#{gen-syntax 5899}#
-                                     #{src 6362}#
-                                     #{x 6477}#
-                                     #{r 6364}#
-                                     #{maps 6365}#
-                                     #{ellipsis? 6366}#
-                                     #{mod 6367}#))
-                                 (lambda (#{x 6479}# #{maps 6480}#)
+                                   (#{gen-syntax 5896}#
+                                     #{src 6359}#
+                                     #{x 6474}#
+                                     #{r 6361}#
+                                     #{maps 6362}#
+                                     #{ellipsis? 6363}#
+                                     #{mod 6364}#))
+                                 (lambda (#{x 6476}# #{maps 6477}#)
                                    (call-with-values
                                      (lambda ()
-                                       (#{gen-syntax 5899}#
-                                         #{src 6362}#
-                                         #{y 6478}#
-                                         #{r 6364}#
-                                         #{maps 6480}#
-                                         #{ellipsis? 6366}#
-                                         #{mod 6367}#))
-                                     (lambda (#{y 6481}# #{maps 6482}#)
+                                       (#{gen-syntax 5896}#
+                                         #{src 6359}#
+                                         #{y 6475}#
+                                         #{r 6361}#
+                                         #{maps 6477}#
+                                         #{ellipsis? 6363}#
+                                         #{mod 6364}#))
+                                     (lambda (#{y 6478}# #{maps 6479}#)
                                        (values
-                                         (let ((#{atom-key 6487}#
-                                                 (car #{y 6481}#)))
-                                           (if (eqv? #{atom-key 6487}# 'quote)
-                                             (if (eq? (car #{x 6479}#) 'quote)
+                                         (let ((#{atom-key 6484}#
+                                                 (car #{y 6478}#)))
+                                           (if (eqv? #{atom-key 6484}# 'quote)
+                                             (if (eq? (car #{x 6476}#) 'quote)
                                                (list 'quote
-                                                     (cons (car (cdr #{x 
6479}#))
-                                                           (car (cdr #{y 
6481}#))))
-                                               (if (eq? (car (cdr #{y 6481}#))
+                                                     (cons (car (cdr #{x 
6476}#))
+                                                           (car (cdr #{y 
6478}#))))
+                                               (if (eq? (car (cdr #{y 6478}#))
                                                         '())
-                                                 (list 'list #{x 6479}#)
+                                                 (list 'list #{x 6476}#)
                                                  (list 'cons
-                                                       #{x 6479}#
-                                                       #{y 6481}#)))
-                                             (if (eqv? #{atom-key 6487}# 'list)
+                                                       #{x 6476}#
+                                                       #{y 6478}#)))
+                                             (if (eqv? #{atom-key 6484}# 'list)
                                                (cons 'list
-                                                     (cons #{x 6479}#
-                                                           (cdr #{y 6481}#)))
+                                                     (cons #{x 6476}#
+                                                           (cdr #{y 6478}#)))
                                                (list 'cons
-                                                     #{x 6479}#
-                                                     #{y 6481}#))))
-                                         #{maps 6482}#))))))
-                             #{tmp 6473}#)
-                           (let ((#{tmp 6516}#
+                                                     #{x 6476}#
+                                                     #{y 6478}#))))
+                                         #{maps 6479}#))))))
+                             #{tmp 6470}#)
+                           (let ((#{tmp 6513}#
                                    ($sc-dispatch
-                                     #{e 6363}#
+                                     #{e 6360}#
                                      '#(vector (any . each-any)))))
-                             (if #{tmp 6516}#
+                             (if #{tmp 6513}#
                                (@apply
-                                 (lambda (#{e1 6520}# #{e2 6521}#)
+                                 (lambda (#{e1 6517}# #{e2 6518}#)
                                    (call-with-values
                                      (lambda ()
-                                       (#{gen-syntax 5899}#
-                                         #{src 6362}#
-                                         (cons #{e1 6520}# #{e2 6521}#)
-                                         #{r 6364}#
-                                         #{maps 6365}#
-                                         #{ellipsis? 6366}#
-                                         #{mod 6367}#))
-                                     (lambda (#{e 6522}# #{maps 6523}#)
+                                       (#{gen-syntax 5896}#
+                                         #{src 6359}#
+                                         (cons #{e1 6517}# #{e2 6518}#)
+                                         #{r 6361}#
+                                         #{maps 6362}#
+                                         #{ellipsis? 6363}#
+                                         #{mod 6364}#))
+                                     (lambda (#{e 6519}# #{maps 6520}#)
                                        (values
-                                         (if (eq? (car #{e 6522}#) 'list)
-                                           (cons 'vector (cdr #{e 6522}#))
-                                           (if (eq? (car #{e 6522}#) 'quote)
+                                         (if (eq? (car #{e 6519}#) 'list)
+                                           (cons 'vector (cdr #{e 6519}#))
+                                           (if (eq? (car #{e 6519}#) 'quote)
                                              (list 'quote
                                                    (list->vector
-                                                     (car (cdr #{e 6522}#))))
-                                             (list 'list->vector #{e 6522}#)))
-                                         #{maps 6523}#))))
-                                 #{tmp 6516}#)
+                                                     (car (cdr #{e 6519}#))))
+                                             (list 'list->vector #{e 6519}#)))
+                                         #{maps 6520}#))))
+                                 #{tmp 6513}#)
                                (values
-                                 (list 'quote #{e 6363}#)
-                                 #{maps 6365}#))))))))))))
-         (#{gen-ref 5900}#
-           (lambda (#{src 6550}#
-                    #{var 6551}#
-                    #{level 6552}#
-                    #{maps 6553}#)
-             (if (= #{level 6552}# 0)
-               (values #{var 6551}# #{maps 6553}#)
-               (if (null? #{maps 6553}#)
+                                 (list 'quote #{e 6360}#)
+                                 #{maps 6362}#))))))))))))
+         (#{gen-ref 5897}#
+           (lambda (#{src 6547}#
+                    #{var 6548}#
+                    #{level 6549}#
+                    #{maps 6550}#)
+             (if (= #{level 6549}# 0)
+               (values #{var 6548}# #{maps 6550}#)
+               (if (null? #{maps 6550}#)
                  (syntax-violation
                    'syntax
                    "missing ellipsis"
-                   #{src 6550}#)
+                   #{src 6547}#)
                  (call-with-values
                    (lambda ()
-                     (#{gen-ref 5900}#
-                       #{src 6550}#
-                       #{var 6551}#
-                       (#{1-}# #{level 6552}#)
-                       (cdr #{maps 6553}#)))
-                   (lambda (#{outer-var 6554}# #{outer-maps 6555}#)
-                     (let ((#{b 6556}#
-                             (assq #{outer-var 6554}# (car #{maps 6553}#))))
-                       (if #{b 6556}#
-                         (values (cdr #{b 6556}#) #{maps 6553}#)
-                         (let ((#{inner-var 6558}#
+                     (#{gen-ref 5897}#
+                       #{src 6547}#
+                       #{var 6548}#
+                       (#{1-}# #{level 6549}#)
+                       (cdr #{maps 6550}#)))
+                   (lambda (#{outer-var 6551}# #{outer-maps 6552}#)
+                     (let ((#{b 6553}#
+                             (assq #{outer-var 6551}# (car #{maps 6550}#))))
+                       (if #{b 6553}#
+                         (values (cdr #{b 6553}#) #{maps 6550}#)
+                         (let ((#{inner-var 6555}#
                                  (gensym
                                    (string-append (symbol->string 'tmp) " "))))
                            (values
-                             #{inner-var 6558}#
-                             (cons (cons (cons #{outer-var 6554}#
-                                               #{inner-var 6558}#)
-                                         (car #{maps 6553}#))
-                                   #{outer-maps 6555}#)))))))))))
-         (#{gen-map 5902}#
-           (lambda (#{e 6572}# #{map-env 6573}#)
-             (let ((#{formals 6574}# (map cdr #{map-env 6573}#))
-                   (#{actuals 6575}#
-                     (map (lambda (#{x 6577}#)
-                            (list 'ref (car #{x 6577}#)))
-                          #{map-env 6573}#)))
-               (if (eq? (car #{e 6572}#) 'ref)
-                 (car #{actuals 6575}#)
+                             #{inner-var 6555}#
+                             (cons (cons (cons #{outer-var 6551}#
+                                               #{inner-var 6555}#)
+                                         (car #{maps 6550}#))
+                                   #{outer-maps 6552}#)))))))))))
+         (#{gen-map 5899}#
+           (lambda (#{e 6569}# #{map-env 6570}#)
+             (let ((#{formals 6571}# (map cdr #{map-env 6570}#))
+                   (#{actuals 6572}#
+                     (map (lambda (#{x 6574}#)
+                            (list 'ref (car #{x 6574}#)))
+                          #{map-env 6570}#)))
+               (if (eq? (car #{e 6569}#) 'ref)
+                 (car #{actuals 6572}#)
                  (if (and-map
-                       (lambda (#{x 6578}#)
-                         (if (eq? (car #{x 6578}#) 'ref)
-                           (memq (car (cdr #{x 6578}#)) #{formals 6574}#)
+                       (lambda (#{x 6575}#)
+                         (if (eq? (car #{x 6575}#) 'ref)
+                           (memq (car (cdr #{x 6575}#)) #{formals 6571}#)
                            #f))
-                       (cdr #{e 6572}#))
+                       (cdr #{e 6569}#))
                    (cons 'map
-                         (cons (list 'primitive (car #{e 6572}#))
-                               (map (let ((#{r 6580}#
+                         (cons (list 'primitive (car #{e 6569}#))
+                               (map (let ((#{r 6577}#
                                             (map cons
-                                                 #{formals 6574}#
-                                                 #{actuals 6575}#)))
-                                      (lambda (#{x 6581}#)
-                                        (cdr (assq (car (cdr #{x 6581}#))
-                                                   #{r 6580}#))))
-                                    (cdr #{e 6572}#))))
+                                                 #{formals 6571}#
+                                                 #{actuals 6572}#)))
+                                      (lambda (#{x 6578}#)
+                                        (cdr (assq (car (cdr #{x 6578}#))
+                                                   #{r 6577}#))))
+                                    (cdr #{e 6569}#))))
                    (cons 'map
-                         (cons (list 'lambda #{formals 6574}# #{e 6572}#)
-                               #{actuals 6575}#)))))))
-         (#{regen 5906}#
-           (lambda (#{x 6583}#)
-             (let ((#{atom-key 6584}# (car #{x 6583}#)))
-               (if (eqv? #{atom-key 6584}# 'ref)
-                 (let ((#{name 6594}# (car (cdr #{x 6583}#)))
-                       (#{var 6595}# (car (cdr #{x 6583}#))))
+                         (cons (list 'lambda #{formals 6571}# #{e 6569}#)
+                               #{actuals 6572}#)))))))
+         (#{regen 5903}#
+           (lambda (#{x 6580}#)
+             (let ((#{atom-key 6581}# (car #{x 6580}#)))
+               (if (eqv? #{atom-key 6581}# 'ref)
+                 (let ((#{name 6591}# (car (cdr #{x 6580}#)))
+                       (#{var 6592}# (car (cdr #{x 6580}#))))
                    (make-struct/no-tail
                      (vector-ref %expanded-vtables 3)
                      #f
-                     #{name 6594}#
-                     #{var 6595}#))
-                 (if (eqv? #{atom-key 6584}# 'primitive)
-                   (let ((#{name 6606}# (car (cdr #{x 6583}#))))
+                     #{name 6591}#
+                     #{var 6592}#))
+                 (if (eqv? #{atom-key 6581}# 'primitive)
+                   (let ((#{name 6603}# (car (cdr #{x 6580}#))))
                      (make-struct/no-tail
                        (vector-ref %expanded-vtables 2)
                        #f
-                       #{name 6606}#))
-                   (if (eqv? #{atom-key 6584}# 'quote)
-                     (let ((#{exp 6617}# (car (cdr #{x 6583}#))))
+                       #{name 6603}#))
+                   (if (eqv? #{atom-key 6581}# 'quote)
+                     (let ((#{exp 6614}# (car (cdr #{x 6580}#))))
                        (make-struct/no-tail
                          (vector-ref %expanded-vtables 1)
                          #f
-                         #{exp 6617}#))
-                     (if (eqv? #{atom-key 6584}# 'lambda)
-                       (if (list? (car (cdr #{x 6583}#)))
-                         (let ((#{req 6628}# (car (cdr #{x 6583}#)))
-                               (#{vars 6630}# (car (cdr #{x 6583}#)))
-                               (#{exp 6632}#
-                                 (#{regen 5906}#
-                                   (car (cdr (cdr #{x 6583}#))))))
-                           (let ((#{body 6637}#
+                         #{exp 6614}#))
+                     (if (eqv? #{atom-key 6581}# 'lambda)
+                       (if (list? (car (cdr #{x 6580}#)))
+                         (let ((#{req 6625}# (car (cdr #{x 6580}#)))
+                               (#{vars 6627}# (car (cdr #{x 6580}#)))
+                               (#{exp 6629}#
+                                 (#{regen 5903}#
+                                   (car (cdr (cdr #{x 6580}#))))))
+                           (let ((#{body 6634}#
                                    (make-struct/no-tail
                                      (vector-ref %expanded-vtables 15)
                                      #f
-                                     #{req 6628}#
+                                     #{req 6625}#
                                      #f
                                      #f
                                      #f
                                      '()
-                                     #{vars 6630}#
-                                     #{exp 6632}#
+                                     #{vars 6627}#
+                                     #{exp 6629}#
                                      #f)))
                              (make-struct/no-tail
                                (vector-ref %expanded-vtables 14)
                                #f
                                '()
-                               #{body 6637}#)))
-                         (error "how did we get here" #{x 6583}#))
-                       (let ((#{name 6653}# (car #{x 6583}#))
-                             (#{args 6654}#
-                               (map #{regen 5906}# (cdr #{x 6583}#))))
+                               #{body 6634}#)))
+                         (error "how did we get here" #{x 6580}#))
+                       (let ((#{name 6650}# (car #{x 6580}#))
+                             (#{args 6651}#
+                               (map #{regen 5903}# (cdr #{x 6580}#))))
                          (make-struct/no-tail
                            (vector-ref %expanded-vtables 12)
                            #f
-                           #{name 6653}#
-                           #{args 6654}#))))))))))
-        (lambda (#{e 5907}#
-                 #{r 5908}#
-                 #{w 5909}#
-                 #{s 5910}#
-                 #{mod 5911}#)
-          (let ((#{e 5912}#
-                  (let ((#{x 6273}#
+                           #{name 6650}#
+                           #{args 6651}#))))))))))
+        (lambda (#{e 5904}#
+                 #{r 5905}#
+                 #{w 5906}#
+                 #{s 5907}#
+                 #{mod 5908}#)
+          (let ((#{e 5909}#
+                  (let ((#{x 6270}#
                           (begin
-                            (if (if (pair? #{e 5907}#) #{s 5910}# #f)
-                              (set-source-properties! #{e 5907}# #{s 5910}#))
-                            #{e 5907}#)))
-                    (if (if (null? (car #{w 5909}#))
-                          (null? (cdr #{w 5909}#))
+                            (if (if (pair? #{e 5904}#) #{s 5907}# #f)
+                              (set-source-properties! #{e 5904}# #{s 5907}#))
+                            #{e 5904}#)))
+                    (if (if (null? (car #{w 5906}#))
+                          (null? (cdr #{w 5906}#))
                           #f)
-                      #{x 6273}#
-                      (if (if (vector? #{x 6273}#)
-                            (if (= (vector-length #{x 6273}#) 4)
-                              (eq? (vector-ref #{x 6273}# 0) 'syntax-object)
+                      #{x 6270}#
+                      (if (if (vector? #{x 6270}#)
+                            (if (= (vector-length #{x 6270}#) 4)
+                              (eq? (vector-ref #{x 6270}# 0) 'syntax-object)
                               #f)
                             #f)
-                        (let ((#{expression 6305}# (vector-ref #{x 6273}# 1))
-                              (#{wrap 6306}#
-                                (let ((#{w2 6314}# (vector-ref #{x 6273}# 2)))
-                                  (let ((#{m1 6315}# (car #{w 5909}#))
-                                        (#{s1 6316}# (cdr #{w 5909}#)))
-                                    (if (null? #{m1 6315}#)
-                                      (if (null? #{s1 6316}#)
-                                        #{w2 6314}#
-                                        (cons (car #{w2 6314}#)
-                                              (let ((#{m2 6331}#
-                                                      (cdr #{w2 6314}#)))
-                                                (if (null? #{m2 6331}#)
-                                                  #{s1 6316}#
+                        (let ((#{expression 6302}# (vector-ref #{x 6270}# 1))
+                              (#{wrap 6303}#
+                                (let ((#{w2 6311}# (vector-ref #{x 6270}# 2)))
+                                  (let ((#{m1 6312}# (car #{w 5906}#))
+                                        (#{s1 6313}# (cdr #{w 5906}#)))
+                                    (if (null? #{m1 6312}#)
+                                      (if (null? #{s1 6313}#)
+                                        #{w2 6311}#
+                                        (cons (car #{w2 6311}#)
+                                              (let ((#{m2 6328}#
+                                                      (cdr #{w2 6311}#)))
+                                                (if (null? #{m2 6328}#)
+                                                  #{s1 6313}#
                                                   (append
-                                                    #{s1 6316}#
-                                                    #{m2 6331}#)))))
-                                      (cons (let ((#{m2 6339}#
-                                                    (car #{w2 6314}#)))
-                                              (if (null? #{m2 6339}#)
-                                                #{m1 6315}#
+                                                    #{s1 6313}#
+                                                    #{m2 6328}#)))))
+                                      (cons (let ((#{m2 6336}#
+                                                    (car #{w2 6311}#)))
+                                              (if (null? #{m2 6336}#)
+                                                #{m1 6312}#
                                                 (append
-                                                  #{m1 6315}#
-                                                  #{m2 6339}#)))
-                                            (let ((#{m2 6347}#
-                                                    (cdr #{w2 6314}#)))
-                                              (if (null? #{m2 6347}#)
-                                                #{s1 6316}#
+                                                  #{m1 6312}#
+                                                  #{m2 6336}#)))
+                                            (let ((#{m2 6344}#
+                                                    (cdr #{w2 6311}#)))
+                                              (if (null? #{m2 6344}#)
+                                                #{s1 6313}#
                                                 (append
-                                                  #{s1 6316}#
-                                                  #{m2 6347}#))))))))
-                              (#{module 6307}# (vector-ref #{x 6273}# 3)))
+                                                  #{s1 6313}#
+                                                  #{m2 6344}#))))))))
+                              (#{module 6304}# (vector-ref #{x 6270}# 3)))
                           (vector
                             'syntax-object
-                            #{expression 6305}#
-                            #{wrap 6306}#
-                            #{module 6307}#))
-                        (if (null? #{x 6273}#)
-                          #{x 6273}#
+                            #{expression 6302}#
+                            #{wrap 6303}#
+                            #{module 6304}#))
+                        (if (null? #{x 6270}#)
+                          #{x 6270}#
                           (vector
                             'syntax-object
-                            #{x 6273}#
-                            #{w 5909}#
-                            #{mod 5911}#)))))))
-            (let ((#{tmp 5913}# #{e 5912}#))
-              (let ((#{tmp 5914}#
-                      ($sc-dispatch #{tmp 5913}# '(_ any))))
-                (if #{tmp 5914}#
+                            #{x 6270}#
+                            #{w 5906}#
+                            #{mod 5908}#)))))))
+            (let ((#{tmp 5910}# #{e 5909}#))
+              (let ((#{tmp 5911}#
+                      ($sc-dispatch #{tmp 5910}# '(_ any))))
+                (if #{tmp 5911}#
                   (@apply
-                    (lambda (#{x 5966}#)
+                    (lambda (#{x 5963}#)
                       (call-with-values
                         (lambda ()
-                          (#{gen-syntax 5899}#
-                            #{e 5912}#
-                            #{x 5966}#
-                            #{r 5908}#
+                          (#{gen-syntax 5896}#
+                            #{e 5909}#
+                            #{x 5963}#
+                            #{r 5905}#
                             '()
-                            #{ellipsis? 4454}#
-                            #{mod 5911}#))
-                        (lambda (#{e 6049}# #{maps 6050}#)
-                          (#{regen 5906}# #{e 6049}#))))
-                    #{tmp 5914}#)
+                            #{ellipsis? 4451}#
+                            #{mod 5908}#))
+                        (lambda (#{e 6046}# #{maps 6047}#)
+                          (#{regen 5903}# #{e 6046}#))))
+                    #{tmp 5911}#)
                   (syntax-violation
                     'syntax
                     "bad `syntax' form"
-                    #{e 5912}#))))))))
-    (#{global-extend 4411}#
+                    #{e 5909}#))))))))
+    (#{global-extend 4408}#
       'core
       'lambda
-      (lambda (#{e 6890}#
-               #{r 6891}#
-               #{w 6892}#
-               #{s 6893}#
-               #{mod 6894}#)
-        (let ((#{tmp 6896}#
-                ($sc-dispatch #{e 6890}# '(_ any any . each-any))))
-          (if #{tmp 6896}#
+      (lambda (#{e 6887}#
+               #{r 6888}#
+               #{w 6889}#
+               #{s 6890}#
+               #{mod 6891}#)
+        (let ((#{tmp 6893}#
+                ($sc-dispatch #{e 6887}# '(_ any any . each-any))))
+          (if #{tmp 6893}#
             (@apply
-              (lambda (#{args 6900}# #{e1 6901}# #{e2 6902}#)
+              (lambda (#{args 6897}# #{e1 6898}# #{e2 6899}#)
                 (call-with-values
                   (lambda ()
-                    (#{lambda-formals 4455}# #{args 6900}#))
-                  (lambda (#{req 6905}#
-                           #{opt 6906}#
-                           #{rest 6907}#
-                           #{kw 6908}#)
+                    (#{lambda-formals 4452}# #{args 6897}#))
+                  (lambda (#{req 6902}#
+                           #{opt 6903}#
+                           #{rest 6904}#
+                           #{kw 6905}#)
                     (letrec*
-                      ((#{lp 6909}#
-                         (lambda (#{body 6912}# #{meta 6913}#)
-                           (let ((#{tmp 6915}#
+                      ((#{lp 6906}#
+                         (lambda (#{body 6909}# #{meta 6910}#)
+                           (let ((#{tmp 6912}#
                                    ($sc-dispatch
-                                     #{body 6912}#
+                                     #{body 6909}#
                                      '(any any . each-any))))
-                             (if (if #{tmp 6915}#
+                             (if (if #{tmp 6912}#
                                    (@apply
-                                     (lambda (#{docstring 6919}#
-                                              #{e1 6920}#
-                                              #{e2 6921}#)
+                                     (lambda (#{docstring 6916}#
+                                              #{e1 6917}#
+                                              #{e2 6918}#)
                                        (string?
-                                         (syntax->datum #{docstring 6919}#)))
-                                     #{tmp 6915}#)
+                                         (syntax->datum #{docstring 6916}#)))
+                                     #{tmp 6912}#)
                                    #f)
                                (@apply
-                                 (lambda (#{docstring 6922}#
-                                          #{e1 6923}#
-                                          #{e2 6924}#)
-                                   (#{lp 6909}#
-                                     (cons #{e1 6923}# #{e2 6924}#)
+                                 (lambda (#{docstring 6919}#
+                                          #{e1 6920}#
+                                          #{e2 6921}#)
+                                   (#{lp 6906}#
+                                     (cons #{e1 6920}# #{e2 6921}#)
                                      (append
-                                       #{meta 6913}#
+                                       #{meta 6910}#
                                        (list (cons 'documentation
                                                    (syntax->datum
-                                                     #{docstring 6922}#))))))
-                                 #{tmp 6915}#)
-                               (let ((#{tmp 6925}#
+                                                     #{docstring 6919}#))))))
+                                 #{tmp 6912}#)
+                               (let ((#{tmp 6922}#
                                        ($sc-dispatch
-                                         #{body 6912}#
+                                         #{body 6909}#
                                          '(#(vector #(each (any . any)))
                                            any
                                            .
                                            each-any))))
-                                 (if #{tmp 6925}#
+                                 (if #{tmp 6922}#
                                    (@apply
-                                     (lambda (#{k 6929}#
-                                              #{v 6930}#
-                                              #{e1 6931}#
-                                              #{e2 6932}#)
-                                       (#{lp 6909}#
-                                         (cons #{e1 6931}# #{e2 6932}#)
+                                     (lambda (#{k 6926}#
+                                              #{v 6927}#
+                                              #{e1 6928}#
+                                              #{e2 6929}#)
+                                       (#{lp 6906}#
+                                         (cons #{e1 6928}# #{e2 6929}#)
                                          (append
-                                           #{meta 6913}#
+                                           #{meta 6910}#
                                            (syntax->datum
                                              (map cons
-                                                  #{k 6929}#
-                                                  #{v 6930}#)))))
-                                     #{tmp 6925}#)
-                                   (#{chi-simple-lambda 4456}#
-                                     #{e 6890}#
-                                     #{r 6891}#
-                                     #{w 6892}#
-                                     #{s 6893}#
-                                     #{mod 6894}#
-                                     #{req 6905}#
-                                     #{rest 6907}#
-                                     #{meta 6913}#
-                                     #{body 6912}#))))))))
-                      (#{lp 6909}# (cons #{e1 6901}# #{e2 6902}#) '())))))
-              #{tmp 6896}#)
+                                                  #{k 6926}#
+                                                  #{v 6927}#)))))
+                                     #{tmp 6922}#)
+                                   (#{expand-simple-lambda 4453}#
+                                     #{e 6887}#
+                                     #{r 6888}#
+                                     #{w 6889}#
+                                     #{s 6890}#
+                                     #{mod 6891}#
+                                     #{req 6902}#
+                                     #{rest 6904}#
+                                     #{meta 6910}#
+                                     #{body 6909}#))))))))
+                      (#{lp 6906}# (cons #{e1 6898}# #{e2 6899}#) '())))))
+              #{tmp 6893}#)
             (syntax-violation
               'lambda
               "bad lambda"
-              #{e 6890}#)))))
-    (#{global-extend 4411}#
+              #{e 6887}#)))))
+    (#{global-extend 4408}#
       'core
       'lambda*
-      (lambda (#{e 7316}#
-               #{r 7317}#
-               #{w 7318}#
-               #{s 7319}#
-               #{mod 7320}#)
-        (let ((#{tmp 7322}#
-                ($sc-dispatch #{e 7316}# '(_ any any . each-any))))
-          (if #{tmp 7322}#
+      (lambda (#{e 7313}#
+               #{r 7314}#
+               #{w 7315}#
+               #{s 7316}#
+               #{mod 7317}#)
+        (let ((#{tmp 7319}#
+                ($sc-dispatch #{e 7313}# '(_ any any . each-any))))
+          (if #{tmp 7319}#
             (@apply
-              (lambda (#{args 7326}# #{e1 7327}# #{e2 7328}#)
+              (lambda (#{args 7323}# #{e1 7324}# #{e2 7325}#)
                 (call-with-values
                   (lambda ()
-                    (#{chi-lambda-case 4458}#
-                      #{e 7316}#
-                      #{r 7317}#
-                      #{w 7318}#
-                      #{s 7319}#
-                      #{mod 7320}#
-                      #{lambda*-formals 4457}#
-                      (list (cons #{args 7326}#
-                                  (cons #{e1 7327}# #{e2 7328}#)))))
-                  (lambda (#{meta 7331}# #{lcase 7332}#)
+                    (#{expand-lambda-case 4455}#
+                      #{e 7313}#
+                      #{r 7314}#
+                      #{w 7315}#
+                      #{s 7316}#
+                      #{mod 7317}#
+                      #{lambda*-formals 4454}#
+                      (list (cons #{args 7323}#
+                                  (cons #{e1 7324}# #{e2 7325}#)))))
+                  (lambda (#{meta 7328}# #{lcase 7329}#)
                     (make-struct/no-tail
                       (vector-ref %expanded-vtables 14)
-                      #{s 7319}#
-                      #{meta 7331}#
-                      #{lcase 7332}#))))
-              #{tmp 7322}#)
+                      #{s 7316}#
+                      #{meta 7328}#
+                      #{lcase 7329}#))))
+              #{tmp 7319}#)
             (syntax-violation
               'lambda
               "bad lambda*"
-              #{e 7316}#)))))
-    (#{global-extend 4411}#
+              #{e 7313}#)))))
+    (#{global-extend 4408}#
       'core
       'case-lambda
-      (lambda (#{e 7495}#
-               #{r 7496}#
-               #{w 7497}#
-               #{s 7498}#
-               #{mod 7499}#)
-        (let ((#{tmp 7501}#
+      (lambda (#{e 7492}#
+               #{r 7493}#
+               #{w 7494}#
+               #{s 7495}#
+               #{mod 7496}#)
+        (let ((#{tmp 7498}#
                 ($sc-dispatch
-                  #{e 7495}#
+                  #{e 7492}#
                   '(_ (any any . each-any)
                       .
                       #(each (any any . each-any))))))
-          (if #{tmp 7501}#
+          (if #{tmp 7498}#
             (@apply
-              (lambda (#{args 7505}#
-                       #{e1 7506}#
-                       #{e2 7507}#
-                       #{args* 7508}#
-                       #{e1* 7509}#
-                       #{e2* 7510}#)
+              (lambda (#{args 7502}#
+                       #{e1 7503}#
+                       #{e2 7504}#
+                       #{args* 7505}#
+                       #{e1* 7506}#
+                       #{e2* 7507}#)
                 (call-with-values
                   (lambda ()
-                    (#{chi-lambda-case 4458}#
-                      #{e 7495}#
-                      #{r 7496}#
-                      #{w 7497}#
-                      #{s 7498}#
-                      #{mod 7499}#
-                      #{lambda-formals 4455}#
-                      (cons (cons #{args 7505}#
-                                  (cons #{e1 7506}# #{e2 7507}#))
-                            (map (lambda (#{tmp 3385 7513}#
-                                          #{tmp 3384 7514}#
-                                          #{tmp 3383 7515}#)
-                                   (cons #{tmp 3383 7515}#
-                                         (cons #{tmp 3384 7514}#
-                                               #{tmp 3385 7513}#)))
-                                 #{e2* 7510}#
-                                 #{e1* 7509}#
-                                 #{args* 7508}#))))
-                  (lambda (#{meta 7516}# #{lcase 7517}#)
+                    (#{expand-lambda-case 4455}#
+                      #{e 7492}#
+                      #{r 7493}#
+                      #{w 7494}#
+                      #{s 7495}#
+                      #{mod 7496}#
+                      #{lambda-formals 4452}#
+                      (cons (cons #{args 7502}#
+                                  (cons #{e1 7503}# #{e2 7504}#))
+                            (map (lambda (#{tmp 3382 7510}#
+                                          #{tmp 3381 7511}#
+                                          #{tmp 3380 7512}#)
+                                   (cons #{tmp 3380 7512}#
+                                         (cons #{tmp 3381 7511}#
+                                               #{tmp 3382 7510}#)))
+                                 #{e2* 7507}#
+                                 #{e1* 7506}#
+                                 #{args* 7505}#))))
+                  (lambda (#{meta 7513}# #{lcase 7514}#)
                     (make-struct/no-tail
                       (vector-ref %expanded-vtables 14)
-                      #{s 7498}#
-                      #{meta 7516}#
-                      #{lcase 7517}#))))
-              #{tmp 7501}#)
+                      #{s 7495}#
+                      #{meta 7513}#
+                      #{lcase 7514}#))))
+              #{tmp 7498}#)
             (syntax-violation
               'case-lambda
               "bad case-lambda"
-              #{e 7495}#)))))
-    (#{global-extend 4411}#
+              #{e 7492}#)))))
+    (#{global-extend 4408}#
       'core
       'case-lambda*
-      (lambda (#{e 7686}#
-               #{r 7687}#
-               #{w 7688}#
-               #{s 7689}#
-               #{mod 7690}#)
-        (let ((#{tmp 7692}#
+      (lambda (#{e 7683}#
+               #{r 7684}#
+               #{w 7685}#
+               #{s 7686}#
+               #{mod 7687}#)
+        (let ((#{tmp 7689}#
                 ($sc-dispatch
-                  #{e 7686}#
+                  #{e 7683}#
                   '(_ (any any . each-any)
                       .
                       #(each (any any . each-any))))))
-          (if #{tmp 7692}#
+          (if #{tmp 7689}#
             (@apply
-              (lambda (#{args 7696}#
-                       #{e1 7697}#
-                       #{e2 7698}#
-                       #{args* 7699}#
-                       #{e1* 7700}#
-                       #{e2* 7701}#)
+              (lambda (#{args 7693}#
+                       #{e1 7694}#
+                       #{e2 7695}#
+                       #{args* 7696}#
+                       #{e1* 7697}#
+                       #{e2* 7698}#)
                 (call-with-values
                   (lambda ()
-                    (#{chi-lambda-case 4458}#
-                      #{e 7686}#
-                      #{r 7687}#
-                      #{w 7688}#
-                      #{s 7689}#
-                      #{mod 7690}#
-                      #{lambda*-formals 4457}#
-                      (cons (cons #{args 7696}#
-                                  (cons #{e1 7697}# #{e2 7698}#))
-                            (map (lambda (#{tmp 3420 7704}#
-                                          #{tmp 3419 7705}#
-                                          #{tmp 3418 7706}#)
-                                   (cons #{tmp 3418 7706}#
-                                         (cons #{tmp 3419 7705}#
-                                               #{tmp 3420 7704}#)))
-                                 #{e2* 7701}#
-                                 #{e1* 7700}#
-                                 #{args* 7699}#))))
-                  (lambda (#{meta 7707}# #{lcase 7708}#)
+                    (#{expand-lambda-case 4455}#
+                      #{e 7683}#
+                      #{r 7684}#
+                      #{w 7685}#
+                      #{s 7686}#
+                      #{mod 7687}#
+                      #{lambda*-formals 4454}#
+                      (cons (cons #{args 7693}#
+                                  (cons #{e1 7694}# #{e2 7695}#))
+                            (map (lambda (#{tmp 3417 7701}#
+                                          #{tmp 3416 7702}#
+                                          #{tmp 3415 7703}#)
+                                   (cons #{tmp 3415 7703}#
+                                         (cons #{tmp 3416 7702}#
+                                               #{tmp 3417 7701}#)))
+                                 #{e2* 7698}#
+                                 #{e1* 7697}#
+                                 #{args* 7696}#))))
+                  (lambda (#{meta 7704}# #{lcase 7705}#)
                     (make-struct/no-tail
                       (vector-ref %expanded-vtables 14)
-                      #{s 7689}#
-                      #{meta 7707}#
-                      #{lcase 7708}#))))
-              #{tmp 7692}#)
+                      #{s 7686}#
+                      #{meta 7704}#
+                      #{lcase 7705}#))))
+              #{tmp 7689}#)
             (syntax-violation
               'case-lambda
               "bad case-lambda*"
-              #{e 7686}#)))))
-    (#{global-extend 4411}#
+              #{e 7683}#)))))
+    (#{global-extend 4408}#
       'core
       'let
       (letrec*
-        ((#{chi-let 7917}#
-           (lambda (#{e 8127}#
-                    #{r 8128}#
-                    #{w 8129}#
-                    #{s 8130}#
-                    #{mod 8131}#
-                    #{constructor 8132}#
-                    #{ids 8133}#
-                    #{vals 8134}#
-                    #{exps 8135}#)
-             (if (not (#{valid-bound-ids? 4436}# #{ids 8133}#))
+        ((#{expand-let 7914}#
+           (lambda (#{e 8124}#
+                    #{r 8125}#
+                    #{w 8126}#
+                    #{s 8127}#
+                    #{mod 8128}#
+                    #{constructor 8129}#
+                    #{ids 8130}#
+                    #{vals 8131}#
+                    #{exps 8132}#)
+             (if (not (#{valid-bound-ids? 4433}# #{ids 8130}#))
                (syntax-violation
                  'let
                  "duplicate bound variable"
-                 #{e 8127}#)
-               (let ((#{labels 8220}#
-                       (#{gen-labels 4416}# #{ids 8133}#))
-                     (#{new-vars 8221}#
-                       (map #{gen-var 4460}# #{ids 8133}#)))
-                 (let ((#{nw 8222}#
-                         (#{make-binding-wrap 4427}#
-                           #{ids 8133}#
-                           #{labels 8220}#
-                           #{w 8129}#))
-                       (#{nr 8223}#
-                         (#{extend-var-env 4409}#
-                           #{labels 8220}#
-                           #{new-vars 8221}#
-                           #{r 8128}#)))
-                   (#{constructor 8132}#
-                     #{s 8130}#
-                     (map syntax->datum #{ids 8133}#)
-                     #{new-vars 8221}#
-                     (map (lambda (#{x 8240}#)
-                            (#{chi 4446}#
-                              #{x 8240}#
-                              #{r 8128}#
-                              #{w 8129}#
-                              #{mod 8131}#))
-                          #{vals 8134}#)
-                     (#{chi-body 4450}#
-                       #{exps 8135}#
-                       (#{source-wrap 4440}#
-                         #{e 8127}#
-                         #{nw 8222}#
-                         #{s 8130}#
-                         #{mod 8131}#)
-                       #{nr 8223}#
-                       #{nw 8222}#
-                       #{mod 8131}#))))))))
-        (lambda (#{e 7918}#
-                 #{r 7919}#
-                 #{w 7920}#
-                 #{s 7921}#
-                 #{mod 7922}#)
-          (let ((#{tmp 7924}#
+                 #{e 8124}#)
+               (let ((#{labels 8217}#
+                       (#{gen-labels 4413}# #{ids 8130}#))
+                     (#{new-vars 8218}#
+                       (map #{gen-var 4457}# #{ids 8130}#)))
+                 (let ((#{nw 8219}#
+                         (#{make-binding-wrap 4424}#
+                           #{ids 8130}#
+                           #{labels 8217}#
+                           #{w 8126}#))
+                       (#{nr 8220}#
+                         (#{extend-var-env 4406}#
+                           #{labels 8217}#
+                           #{new-vars 8218}#
+                           #{r 8125}#)))
+                   (#{constructor 8129}#
+                     #{s 8127}#
+                     (map syntax->datum #{ids 8130}#)
+                     #{new-vars 8218}#
+                     (map (lambda (#{x 8237}#)
+                            (#{expand 4443}#
+                              #{x 8237}#
+                              #{r 8125}#
+                              #{w 8126}#
+                              #{mod 8128}#))
+                          #{vals 8131}#)
+                     (#{expand-body 4447}#
+                       #{exps 8132}#
+                       (#{source-wrap 4437}#
+                         #{e 8124}#
+                         #{nw 8219}#
+                         #{s 8127}#
+                         #{mod 8128}#)
+                       #{nr 8220}#
+                       #{nw 8219}#
+                       #{mod 8128}#))))))))
+        (lambda (#{e 7915}#
+                 #{r 7916}#
+                 #{w 7917}#
+                 #{s 7918}#
+                 #{mod 7919}#)
+          (let ((#{tmp 7921}#
                   ($sc-dispatch
-                    #{e 7918}#
+                    #{e 7915}#
                     '(_ #(each (any any)) any . each-any))))
-            (if (if #{tmp 7924}#
+            (if (if #{tmp 7921}#
                   (@apply
-                    (lambda (#{id 7928}#
-                             #{val 7929}#
-                             #{e1 7930}#
-                             #{e2 7931}#)
-                      (and-map #{id? 4413}# #{id 7928}#))
-                    #{tmp 7924}#)
+                    (lambda (#{id 7925}#
+                             #{val 7926}#
+                             #{e1 7927}#
+                             #{e2 7928}#)
+                      (and-map #{id? 4410}# #{id 7925}#))
+                    #{tmp 7921}#)
                   #f)
               (@apply
-                (lambda (#{id 7947}#
-                         #{val 7948}#
-                         #{e1 7949}#
-                         #{e2 7950}#)
-                  (#{chi-let 7917}#
-                    #{e 7918}#
-                    #{r 7919}#
-                    #{w 7920}#
-                    #{s 7921}#
-                    #{mod 7922}#
-                    (lambda (#{src 7954}#
-                             #{ids 7955}#
-                             #{vars 7956}#
-                             #{val-exps 7957}#
-                             #{body-exp 7958}#)
+                (lambda (#{id 7944}#
+                         #{val 7945}#
+                         #{e1 7946}#
+                         #{e2 7947}#)
+                  (#{expand-let 7914}#
+                    #{e 7915}#
+                    #{r 7916}#
+                    #{w 7917}#
+                    #{s 7918}#
+                    #{mod 7919}#
+                    (lambda (#{src 7951}#
+                             #{ids 7952}#
+                             #{vars 7953}#
+                             #{val-exps 7954}#
+                             #{body-exp 7955}#)
                       (begin
                         (for-each
-                          #{maybe-name-value! 4378}#
-                          #{ids 7955}#
-                          #{val-exps 7957}#)
-                        (if (null? #{vars 7956}#)
-                          #{body-exp 7958}#
+                          #{maybe-name-value! 4375}#
+                          #{ids 7952}#
+                          #{val-exps 7954}#)
+                        (if (null? #{vars 7953}#)
+                          #{body-exp 7955}#
                           (make-struct/no-tail
                             (vector-ref %expanded-vtables 16)
-                            #{src 7954}#
-                            #{ids 7955}#
-                            #{vars 7956}#
-                            #{val-exps 7957}#
-                            #{body-exp 7958}#))))
-                    #{id 7947}#
-                    #{val 7948}#
-                    (cons #{e1 7949}# #{e2 7950}#)))
-                #{tmp 7924}#)
-              (let ((#{tmp 7965}#
+                            #{src 7951}#
+                            #{ids 7952}#
+                            #{vars 7953}#
+                            #{val-exps 7954}#
+                            #{body-exp 7955}#))))
+                    #{id 7944}#
+                    #{val 7945}#
+                    (cons #{e1 7946}# #{e2 7947}#)))
+                #{tmp 7921}#)
+              (let ((#{tmp 7962}#
                       ($sc-dispatch
-                        #{e 7918}#
+                        #{e 7915}#
                         '(_ any #(each (any any)) any . each-any))))
-                (if (if #{tmp 7965}#
+                (if (if #{tmp 7962}#
                       (@apply
-                        (lambda (#{f 7969}#
-                                 #{id 7970}#
-                                 #{val 7971}#
-                                 #{e1 7972}#
-                                 #{e2 7973}#)
-                          (if (if (symbol? #{f 7969}#)
+                        (lambda (#{f 7966}#
+                                 #{id 7967}#
+                                 #{val 7968}#
+                                 #{e1 7969}#
+                                 #{e2 7970}#)
+                          (if (if (symbol? #{f 7966}#)
                                 #t
-                                (if (if (vector? #{f 7969}#)
-                                      (if (= (vector-length #{f 7969}#) 4)
-                                        (eq? (vector-ref #{f 7969}# 0)
+                                (if (if (vector? #{f 7966}#)
+                                      (if (= (vector-length #{f 7966}#) 4)
+                                        (eq? (vector-ref #{f 7966}# 0)
                                              'syntax-object)
                                         #f)
                                       #f)
-                                  (symbol? (vector-ref #{f 7969}# 1))
+                                  (symbol? (vector-ref #{f 7966}# 1))
                                   #f))
-                            (and-map #{id? 4413}# #{id 7970}#)
+                            (and-map #{id? 4410}# #{id 7967}#)
                             #f))
-                        #{tmp 7965}#)
+                        #{tmp 7962}#)
                       #f)
                   (@apply
-                    (lambda (#{f 8015}#
-                             #{id 8016}#
-                             #{val 8017}#
-                             #{e1 8018}#
-                             #{e2 8019}#)
-                      (#{chi-let 7917}#
-                        #{e 7918}#
-                        #{r 7919}#
-                        #{w 7920}#
-                        #{s 7921}#
-                        #{mod 7922}#
-                        #{build-named-let 4397}#
-                        (cons #{f 8015}# #{id 8016}#)
-                        #{val 8017}#
-                        (cons #{e1 8018}# #{e2 8019}#)))
-                    #{tmp 7965}#)
+                    (lambda (#{f 8012}#
+                             #{id 8013}#
+                             #{val 8014}#
+                             #{e1 8015}#
+                             #{e2 8016}#)
+                      (#{expand-let 7914}#
+                        #{e 7915}#
+                        #{r 7916}#
+                        #{w 7917}#
+                        #{s 7918}#
+                        #{mod 7919}#
+                        #{build-named-let 4394}#
+                        (cons #{f 8012}# #{id 8013}#)
+                        #{val 8014}#
+                        (cons #{e1 8015}# #{e2 8016}#)))
+                    #{tmp 7962}#)
                   (syntax-violation
                     'let
                     "bad let"
-                    (let ((#{x 8032}#
+                    (let ((#{x 8029}#
                             (begin
-                              (if (if (pair? #{e 7918}#) #{s 7921}# #f)
-                                (set-source-properties! #{e 7918}# #{s 7921}#))
-                              #{e 7918}#)))
-                      (if (if (null? (car #{w 7920}#))
-                            (null? (cdr #{w 7920}#))
+                              (if (if (pair? #{e 7915}#) #{s 7918}# #f)
+                                (set-source-properties! #{e 7915}# #{s 7918}#))
+                              #{e 7915}#)))
+                      (if (if (null? (car #{w 7917}#))
+                            (null? (cdr #{w 7917}#))
                             #f)
-                        #{x 8032}#
-                        (if (if (vector? #{x 8032}#)
-                              (if (= (vector-length #{x 8032}#) 4)
-                                (eq? (vector-ref #{x 8032}# 0) 'syntax-object)
+                        #{x 8029}#
+                        (if (if (vector? #{x 8029}#)
+                              (if (= (vector-length #{x 8029}#) 4)
+                                (eq? (vector-ref #{x 8029}# 0) 'syntax-object)
                                 #f)
                               #f)
-                          (let ((#{expression 8064}# (vector-ref #{x 8032}# 1))
-                                (#{wrap 8065}#
-                                  (let ((#{w2 8073}#
-                                          (vector-ref #{x 8032}# 2)))
-                                    (let ((#{m1 8074}# (car #{w 7920}#))
-                                          (#{s1 8075}# (cdr #{w 7920}#)))
-                                      (if (null? #{m1 8074}#)
-                                        (if (null? #{s1 8075}#)
-                                          #{w2 8073}#
-                                          (cons (car #{w2 8073}#)
-                                                (let ((#{m2 8090}#
-                                                        (cdr #{w2 8073}#)))
-                                                  (if (null? #{m2 8090}#)
-                                                    #{s1 8075}#
+                          (let ((#{expression 8061}# (vector-ref #{x 8029}# 1))
+                                (#{wrap 8062}#
+                                  (let ((#{w2 8070}#
+                                          (vector-ref #{x 8029}# 2)))
+                                    (let ((#{m1 8071}# (car #{w 7917}#))
+                                          (#{s1 8072}# (cdr #{w 7917}#)))
+                                      (if (null? #{m1 8071}#)
+                                        (if (null? #{s1 8072}#)
+                                          #{w2 8070}#
+                                          (cons (car #{w2 8070}#)
+                                                (let ((#{m2 8087}#
+                                                        (cdr #{w2 8070}#)))
+                                                  (if (null? #{m2 8087}#)
+                                                    #{s1 8072}#
                                                     (append
-                                                      #{s1 8075}#
-                                                      #{m2 8090}#)))))
-                                        (cons (let ((#{m2 8098}#
-                                                      (car #{w2 8073}#)))
-                                                (if (null? #{m2 8098}#)
-                                                  #{m1 8074}#
+                                                      #{s1 8072}#
+                                                      #{m2 8087}#)))))
+                                        (cons (let ((#{m2 8095}#
+                                                      (car #{w2 8070}#)))
+                                                (if (null? #{m2 8095}#)
+                                                  #{m1 8071}#
                                                   (append
-                                                    #{m1 8074}#
-                                                    #{m2 8098}#)))
-                                              (let ((#{m2 8106}#
-                                                      (cdr #{w2 8073}#)))
-                                                (if (null? #{m2 8106}#)
-                                                  #{s1 8075}#
+                                                    #{m1 8071}#
+                                                    #{m2 8095}#)))
+                                              (let ((#{m2 8103}#
+                                                      (cdr #{w2 8070}#)))
+                                                (if (null? #{m2 8103}#)
+                                                  #{s1 8072}#
                                                   (append
-                                                    #{s1 8075}#
-                                                    #{m2 8106}#))))))))
-                                (#{module 8066}# (vector-ref #{x 8032}# 3)))
+                                                    #{s1 8072}#
+                                                    #{m2 8103}#))))))))
+                                (#{module 8063}# (vector-ref #{x 8029}# 3)))
                             (vector
                               'syntax-object
-                              #{expression 8064}#
-                              #{wrap 8065}#
-                              #{module 8066}#))
-                          (if (null? #{x 8032}#)
-                            #{x 8032}#
+                              #{expression 8061}#
+                              #{wrap 8062}#
+                              #{module 8063}#))
+                          (if (null? #{x 8029}#)
+                            #{x 8029}#
                             (vector
                               'syntax-object
-                              #{x 8032}#
-                              #{w 7920}#
-                              #{mod 7922}#)))))))))))))
-    (#{global-extend 4411}#
+                              #{x 8029}#
+                              #{w 7917}#
+                              #{mod 7919}#)))))))))))))
+    (#{global-extend 4408}#
       'core
       'letrec
-      (lambda (#{e 8717}#
-               #{r 8718}#
-               #{w 8719}#
-               #{s 8720}#
-               #{mod 8721}#)
-        (let ((#{tmp 8723}#
+      (lambda (#{e 8714}#
+               #{r 8715}#
+               #{w 8716}#
+               #{s 8717}#
+               #{mod 8718}#)
+        (let ((#{tmp 8720}#
                 ($sc-dispatch
-                  #{e 8717}#
+                  #{e 8714}#
                   '(_ #(each (any any)) any . each-any))))
-          (if (if #{tmp 8723}#
+          (if (if #{tmp 8720}#
                 (@apply
-                  (lambda (#{id 8727}#
-                           #{val 8728}#
-                           #{e1 8729}#
-                           #{e2 8730}#)
-                    (and-map #{id? 4413}# #{id 8727}#))
-                  #{tmp 8723}#)
+                  (lambda (#{id 8724}#
+                           #{val 8725}#
+                           #{e1 8726}#
+                           #{e2 8727}#)
+                    (and-map #{id? 4410}# #{id 8724}#))
+                  #{tmp 8720}#)
                 #f)
             (@apply
-              (lambda (#{id 8746}#
-                       #{val 8747}#
-                       #{e1 8748}#
-                       #{e2 8749}#)
-                (if (not (#{valid-bound-ids? 4436}# #{id 8746}#))
+              (lambda (#{id 8743}#
+                       #{val 8744}#
+                       #{e1 8745}#
+                       #{e2 8746}#)
+                (if (not (#{valid-bound-ids? 4433}# #{id 8743}#))
                   (syntax-violation
                     'letrec
                     "duplicate bound variable"
-                    #{e 8717}#)
-                  (let ((#{labels 8846}#
-                          (#{gen-labels 4416}# #{id 8746}#))
-                        (#{new-vars 8847}#
-                          (map #{gen-var 4460}# #{id 8746}#)))
-                    (let ((#{w 8848}#
-                            (#{make-binding-wrap 4427}#
-                              #{id 8746}#
-                              #{labels 8846}#
-                              #{w 8719}#))
-                          (#{r 8849}#
-                            (#{extend-var-env 4409}#
-                              #{labels 8846}#
-                              #{new-vars 8847}#
-                              #{r 8718}#)))
-                      (#{build-letrec 4398}#
-                        #{s 8720}#
+                    #{e 8714}#)
+                  (let ((#{labels 8843}#
+                          (#{gen-labels 4413}# #{id 8743}#))
+                        (#{new-vars 8844}#
+                          (map #{gen-var 4457}# #{id 8743}#)))
+                    (let ((#{w 8845}#
+                            (#{make-binding-wrap 4424}#
+                              #{id 8743}#
+                              #{labels 8843}#
+                              #{w 8716}#))
+                          (#{r 8846}#
+                            (#{extend-var-env 4406}#
+                              #{labels 8843}#
+                              #{new-vars 8844}#
+                              #{r 8715}#)))
+                      (#{build-letrec 4395}#
+                        #{s 8717}#
                         #f
-                        (map syntax->datum #{id 8746}#)
-                        #{new-vars 8847}#
-                        (map (lambda (#{x 8928}#)
-                               (#{chi 4446}#
-                                 #{x 8928}#
-                                 #{r 8849}#
-                                 #{w 8848}#
-                                 #{mod 8721}#))
-                             #{val 8747}#)
-                        (#{chi-body 4450}#
-                          (cons #{e1 8748}# #{e2 8749}#)
-                          (let ((#{x 8990}#
+                        (map syntax->datum #{id 8743}#)
+                        #{new-vars 8844}#
+                        (map (lambda (#{x 8925}#)
+                               (#{expand 4443}#
+                                 #{x 8925}#
+                                 #{r 8846}#
+                                 #{w 8845}#
+                                 #{mod 8718}#))
+                             #{val 8744}#)
+                        (#{expand-body 4447}#
+                          (cons #{e1 8745}# #{e2 8746}#)
+                          (let ((#{x 8987}#
                                   (begin
-                                    (if (if (pair? #{e 8717}#) #{s 8720}# #f)
+                                    (if (if (pair? #{e 8714}#) #{s 8717}# #f)
                                       (set-source-properties!
-                                        #{e 8717}#
-                                        #{s 8720}#))
-                                    #{e 8717}#)))
-                            (if (if (null? (car #{w 8848}#))
-                                  (null? (cdr #{w 8848}#))
+                                        #{e 8714}#
+                                        #{s 8717}#))
+                                    #{e 8714}#)))
+                            (if (if (null? (car #{w 8845}#))
+                                  (null? (cdr #{w 8845}#))
                                   #f)
-                              #{x 8990}#
-                              (if (if (vector? #{x 8990}#)
-                                    (if (= (vector-length #{x 8990}#) 4)
-                                      (eq? (vector-ref #{x 8990}# 0)
+                              #{x 8987}#
+                              (if (if (vector? #{x 8987}#)
+                                    (if (= (vector-length #{x 8987}#) 4)
+                                      (eq? (vector-ref #{x 8987}# 0)
                                            'syntax-object)
                                       #f)
                                     #f)
-                                (let ((#{expression 9022}#
-                                        (vector-ref #{x 8990}# 1))
-                                      (#{wrap 9023}#
-                                        (let ((#{w2 9031}#
-                                                (vector-ref #{x 8990}# 2)))
-                                          (let ((#{m1 9032}# (car #{w 8848}#))
-                                                (#{s1 9033}# (cdr #{w 8848}#)))
-                                            (if (null? #{m1 9032}#)
-                                              (if (null? #{s1 9033}#)
-                                                #{w2 9031}#
-                                                (cons (car #{w2 9031}#)
-                                                      (let ((#{m2 9048}#
-                                                              (cdr #{w2 
9031}#)))
-                                                        (if (null? #{m2 9048}#)
-                                                          #{s1 9033}#
+                                (let ((#{expression 9019}#
+                                        (vector-ref #{x 8987}# 1))
+                                      (#{wrap 9020}#
+                                        (let ((#{w2 9028}#
+                                                (vector-ref #{x 8987}# 2)))
+                                          (let ((#{m1 9029}# (car #{w 8845}#))
+                                                (#{s1 9030}# (cdr #{w 8845}#)))
+                                            (if (null? #{m1 9029}#)
+                                              (if (null? #{s1 9030}#)
+                                                #{w2 9028}#
+                                                (cons (car #{w2 9028}#)
+                                                      (let ((#{m2 9045}#
+                                                              (cdr #{w2 
9028}#)))
+                                                        (if (null? #{m2 9045}#)
+                                                          #{s1 9030}#
                                                           (append
-                                                            #{s1 9033}#
-                                                            #{m2 9048}#)))))
-                                              (cons (let ((#{m2 9056}#
-                                                            (car #{w2 9031}#)))
-                                                      (if (null? #{m2 9056}#)
-                                                        #{m1 9032}#
+                                                            #{s1 9030}#
+                                                            #{m2 9045}#)))))
+                                              (cons (let ((#{m2 9053}#
+                                                            (car #{w2 9028}#)))
+                                                      (if (null? #{m2 9053}#)
+                                                        #{m1 9029}#
                                                         (append
-                                                          #{m1 9032}#
-                                                          #{m2 9056}#)))
-                                                    (let ((#{m2 9064}#
-                                                            (cdr #{w2 9031}#)))
-                                                      (if (null? #{m2 9064}#)
-                                                        #{s1 9033}#
+                                                          #{m1 9029}#
+                                                          #{m2 9053}#)))
+                                                    (let ((#{m2 9061}#
+                                                            (cdr #{w2 9028}#)))
+                                                      (if (null? #{m2 9061}#)
+                                                        #{s1 9030}#
                                                         (append
-                                                          #{s1 9033}#
-                                                          #{m2 9064}#))))))))
-                                      (#{module 9024}#
-                                        (vector-ref #{x 8990}# 3)))
+                                                          #{s1 9030}#
+                                                          #{m2 9061}#))))))))
+                                      (#{module 9021}#
+                                        (vector-ref #{x 8987}# 3)))
                                   (vector
                                     'syntax-object
-                                    #{expression 9022}#
-                                    #{wrap 9023}#
-                                    #{module 9024}#))
-                                (if (null? #{x 8990}#)
-                                  #{x 8990}#
+                                    #{expression 9019}#
+                                    #{wrap 9020}#
+                                    #{module 9021}#))
+                                (if (null? #{x 8987}#)
+                                  #{x 8987}#
                                   (vector
                                     'syntax-object
-                                    #{x 8990}#
-                                    #{w 8848}#
-                                    #{mod 8721}#)))))
-                          #{r 8849}#
-                          #{w 8848}#
-                          #{mod 8721}#))))))
-              #{tmp 8723}#)
+                                    #{x 8987}#
+                                    #{w 8845}#
+                                    #{mod 8718}#)))))
+                          #{r 8846}#
+                          #{w 8845}#
+                          #{mod 8718}#))))))
+              #{tmp 8720}#)
             (syntax-violation
               'letrec
               "bad letrec"
-              (let ((#{x 9304}#
+              (let ((#{x 9301}#
                       (begin
-                        (if (if (pair? #{e 8717}#) #{s 8720}# #f)
-                          (set-source-properties! #{e 8717}# #{s 8720}#))
-                        #{e 8717}#)))
-                (if (if (null? (car #{w 8719}#))
-                      (null? (cdr #{w 8719}#))
+                        (if (if (pair? #{e 8714}#) #{s 8717}# #f)
+                          (set-source-properties! #{e 8714}# #{s 8717}#))
+                        #{e 8714}#)))
+                (if (if (null? (car #{w 8716}#))
+                      (null? (cdr #{w 8716}#))
                       #f)
-                  #{x 9304}#
-                  (if (if (vector? #{x 9304}#)
-                        (if (= (vector-length #{x 9304}#) 4)
-                          (eq? (vector-ref #{x 9304}# 0) 'syntax-object)
+                  #{x 9301}#
+                  (if (if (vector? #{x 9301}#)
+                        (if (= (vector-length #{x 9301}#) 4)
+                          (eq? (vector-ref #{x 9301}# 0) 'syntax-object)
                           #f)
                         #f)
-                    (let ((#{expression 9336}# (vector-ref #{x 9304}# 1))
-                          (#{wrap 9337}#
-                            (let ((#{w2 9345}# (vector-ref #{x 9304}# 2)))
-                              (let ((#{m1 9346}# (car #{w 8719}#))
-                                    (#{s1 9347}# (cdr #{w 8719}#)))
-                                (if (null? #{m1 9346}#)
-                                  (if (null? #{s1 9347}#)
-                                    #{w2 9345}#
-                                    (cons (car #{w2 9345}#)
-                                          (let ((#{m2 9362}#
-                                                  (cdr #{w2 9345}#)))
-                                            (if (null? #{m2 9362}#)
-                                              #{s1 9347}#
+                    (let ((#{expression 9333}# (vector-ref #{x 9301}# 1))
+                          (#{wrap 9334}#
+                            (let ((#{w2 9342}# (vector-ref #{x 9301}# 2)))
+                              (let ((#{m1 9343}# (car #{w 8716}#))
+                                    (#{s1 9344}# (cdr #{w 8716}#)))
+                                (if (null? #{m1 9343}#)
+                                  (if (null? #{s1 9344}#)
+                                    #{w2 9342}#
+                                    (cons (car #{w2 9342}#)
+                                          (let ((#{m2 9359}#
+                                                  (cdr #{w2 9342}#)))
+                                            (if (null? #{m2 9359}#)
+                                              #{s1 9344}#
                                               (append
-                                                #{s1 9347}#
-                                                #{m2 9362}#)))))
-                                  (cons (let ((#{m2 9370}# (car #{w2 9345}#)))
-                                          (if (null? #{m2 9370}#)
-                                            #{m1 9346}#
-                                            (append #{m1 9346}# #{m2 9370}#)))
-                                        (let ((#{m2 9378}# (cdr #{w2 9345}#)))
-                                          (if (null? #{m2 9378}#)
-                                            #{s1 9347}#
+                                                #{s1 9344}#
+                                                #{m2 9359}#)))))
+                                  (cons (let ((#{m2 9367}# (car #{w2 9342}#)))
+                                          (if (null? #{m2 9367}#)
+                                            #{m1 9343}#
+                                            (append #{m1 9343}# #{m2 9367}#)))
+                                        (let ((#{m2 9375}# (cdr #{w2 9342}#)))
+                                          (if (null? #{m2 9375}#)
+                                            #{s1 9344}#
                                             (append
-                                              #{s1 9347}#
-                                              #{m2 9378}#))))))))
-                          (#{module 9338}# (vector-ref #{x 9304}# 3)))
+                                              #{s1 9344}#
+                                              #{m2 9375}#))))))))
+                          (#{module 9335}# (vector-ref #{x 9301}# 3)))
                       (vector
                         'syntax-object
-                        #{expression 9336}#
-                        #{wrap 9337}#
-                        #{module 9338}#))
-                    (if (null? #{x 9304}#)
-                      #{x 9304}#
+                        #{expression 9333}#
+                        #{wrap 9334}#
+                        #{module 9335}#))
+                    (if (null? #{x 9301}#)
+                      #{x 9301}#
                       (vector
                         'syntax-object
-                        #{x 9304}#
-                        #{w 8719}#
-                        #{mod 8721}#))))))))))
-    (#{global-extend 4411}#
+                        #{x 9301}#
+                        #{w 8716}#
+                        #{mod 8718}#))))))))))
+    (#{global-extend 4408}#
       'core
       'letrec*
-      (lambda (#{e 9529}#
-               #{r 9530}#
-               #{w 9531}#
-               #{s 9532}#
-               #{mod 9533}#)
-        (let ((#{tmp 9535}#
+      (lambda (#{e 9526}#
+               #{r 9527}#
+               #{w 9528}#
+               #{s 9529}#
+               #{mod 9530}#)
+        (let ((#{tmp 9532}#
                 ($sc-dispatch
-                  #{e 9529}#
+                  #{e 9526}#
                   '(_ #(each (any any)) any . each-any))))
-          (if (if #{tmp 9535}#
+          (if (if #{tmp 9532}#
                 (@apply
-                  (lambda (#{id 9539}#
-                           #{val 9540}#
-                           #{e1 9541}#
-                           #{e2 9542}#)
-                    (and-map #{id? 4413}# #{id 9539}#))
-                  #{tmp 9535}#)
+                  (lambda (#{id 9536}#
+                           #{val 9537}#
+                           #{e1 9538}#
+                           #{e2 9539}#)
+                    (and-map #{id? 4410}# #{id 9536}#))
+                  #{tmp 9532}#)
                 #f)
             (@apply
-              (lambda (#{id 9558}#
-                       #{val 9559}#
-                       #{e1 9560}#
-                       #{e2 9561}#)
-                (if (not (#{valid-bound-ids? 4436}# #{id 9558}#))
+              (lambda (#{id 9555}#
+                       #{val 9556}#
+                       #{e1 9557}#
+                       #{e2 9558}#)
+                (if (not (#{valid-bound-ids? 4433}# #{id 9555}#))
                   (syntax-violation
                     'letrec*
                     "duplicate bound variable"
-                    #{e 9529}#)
-                  (let ((#{labels 9658}#
-                          (#{gen-labels 4416}# #{id 9558}#))
-                        (#{new-vars 9659}#
-                          (map #{gen-var 4460}# #{id 9558}#)))
-                    (let ((#{w 9660}#
-                            (#{make-binding-wrap 4427}#
-                              #{id 9558}#
-                              #{labels 9658}#
-                              #{w 9531}#))
-                          (#{r 9661}#
-                            (#{extend-var-env 4409}#
-                              #{labels 9658}#
-                              #{new-vars 9659}#
-                              #{r 9530}#)))
-                      (#{build-letrec 4398}#
-                        #{s 9532}#
+                    #{e 9526}#)
+                  (let ((#{labels 9655}#
+                          (#{gen-labels 4413}# #{id 9555}#))
+                        (#{new-vars 9656}#
+                          (map #{gen-var 4457}# #{id 9555}#)))
+                    (let ((#{w 9657}#
+                            (#{make-binding-wrap 4424}#
+                              #{id 9555}#
+                              #{labels 9655}#
+                              #{w 9528}#))
+                          (#{r 9658}#
+                            (#{extend-var-env 4406}#
+                              #{labels 9655}#
+                              #{new-vars 9656}#
+                              #{r 9527}#)))
+                      (#{build-letrec 4395}#
+                        #{s 9529}#
                         #t
-                        (map syntax->datum #{id 9558}#)
-                        #{new-vars 9659}#
-                        (map (lambda (#{x 9740}#)
-                               (#{chi 4446}#
-                                 #{x 9740}#
-                                 #{r 9661}#
-                                 #{w 9660}#
-                                 #{mod 9533}#))
-                             #{val 9559}#)
-                        (#{chi-body 4450}#
-                          (cons #{e1 9560}# #{e2 9561}#)
-                          (let ((#{x 9802}#
+                        (map syntax->datum #{id 9555}#)
+                        #{new-vars 9656}#
+                        (map (lambda (#{x 9737}#)
+                               (#{expand 4443}#
+                                 #{x 9737}#
+                                 #{r 9658}#
+                                 #{w 9657}#
+                                 #{mod 9530}#))
+                             #{val 9556}#)
+                        (#{expand-body 4447}#
+                          (cons #{e1 9557}# #{e2 9558}#)
+                          (let ((#{x 9799}#
                                   (begin
-                                    (if (if (pair? #{e 9529}#) #{s 9532}# #f)
+                                    (if (if (pair? #{e 9526}#) #{s 9529}# #f)
                                       (set-source-properties!
-                                        #{e 9529}#
-                                        #{s 9532}#))
-                                    #{e 9529}#)))
-                            (if (if (null? (car #{w 9660}#))
-                                  (null? (cdr #{w 9660}#))
+                                        #{e 9526}#
+                                        #{s 9529}#))
+                                    #{e 9526}#)))
+                            (if (if (null? (car #{w 9657}#))
+                                  (null? (cdr #{w 9657}#))
                                   #f)
-                              #{x 9802}#
-                              (if (if (vector? #{x 9802}#)
-                                    (if (= (vector-length #{x 9802}#) 4)
-                                      (eq? (vector-ref #{x 9802}# 0)
+                              #{x 9799}#
+                              (if (if (vector? #{x 9799}#)
+                                    (if (= (vector-length #{x 9799}#) 4)
+                                      (eq? (vector-ref #{x 9799}# 0)
                                            'syntax-object)
                                       #f)
                                     #f)
-                                (let ((#{expression 9834}#
-                                        (vector-ref #{x 9802}# 1))
-                                      (#{wrap 9835}#
-                                        (let ((#{w2 9843}#
-                                                (vector-ref #{x 9802}# 2)))
-                                          (let ((#{m1 9844}# (car #{w 9660}#))
-                                                (#{s1 9845}# (cdr #{w 9660}#)))
-                                            (if (null? #{m1 9844}#)
-                                              (if (null? #{s1 9845}#)
-                                                #{w2 9843}#
-                                                (cons (car #{w2 9843}#)
-                                                      (let ((#{m2 9860}#
-                                                              (cdr #{w2 
9843}#)))
-                                                        (if (null? #{m2 9860}#)
-                                                          #{s1 9845}#
+                                (let ((#{expression 9831}#
+                                        (vector-ref #{x 9799}# 1))
+                                      (#{wrap 9832}#
+                                        (let ((#{w2 9840}#
+                                                (vector-ref #{x 9799}# 2)))
+                                          (let ((#{m1 9841}# (car #{w 9657}#))
+                                                (#{s1 9842}# (cdr #{w 9657}#)))
+                                            (if (null? #{m1 9841}#)
+                                              (if (null? #{s1 9842}#)
+                                                #{w2 9840}#
+                                                (cons (car #{w2 9840}#)
+                                                      (let ((#{m2 9857}#
+                                                              (cdr #{w2 
9840}#)))
+                                                        (if (null? #{m2 9857}#)
+                                                          #{s1 9842}#
                                                           (append
-                                                            #{s1 9845}#
-                                                            #{m2 9860}#)))))
-                                              (cons (let ((#{m2 9868}#
-                                                            (car #{w2 9843}#)))
-                                                      (if (null? #{m2 9868}#)
-                                                        #{m1 9844}#
+                                                            #{s1 9842}#
+                                                            #{m2 9857}#)))))
+                                              (cons (let ((#{m2 9865}#
+                                                            (car #{w2 9840}#)))
+                                                      (if (null? #{m2 9865}#)
+                                                        #{m1 9841}#
                                                         (append
-                                                          #{m1 9844}#
-                                                          #{m2 9868}#)))
-                                                    (let ((#{m2 9876}#
-                                                            (cdr #{w2 9843}#)))
-                                                      (if (null? #{m2 9876}#)
-                                                        #{s1 9845}#
+                                                          #{m1 9841}#
+                                                          #{m2 9865}#)))
+                                                    (let ((#{m2 9873}#
+                                                            (cdr #{w2 9840}#)))
+                                                      (if (null? #{m2 9873}#)
+                                                        #{s1 9842}#
                                                         (append
-                                                          #{s1 9845}#
-                                                          #{m2 9876}#))))))))
-                                      (#{module 9836}#
-                                        (vector-ref #{x 9802}# 3)))
+                                                          #{s1 9842}#
+                                                          #{m2 9873}#))))))))
+                                      (#{module 9833}#
+                                        (vector-ref #{x 9799}# 3)))
                                   (vector
                                     'syntax-object
-                                    #{expression 9834}#
-                                    #{wrap 9835}#
-                                    #{module 9836}#))
-                                (if (null? #{x 9802}#)
-                                  #{x 9802}#
+                                    #{expression 9831}#
+                                    #{wrap 9832}#
+                                    #{module 9833}#))
+                                (if (null? #{x 9799}#)
+                                  #{x 9799}#
                                   (vector
                                     'syntax-object
-                                    #{x 9802}#
-                                    #{w 9660}#
-                                    #{mod 9533}#)))))
-                          #{r 9661}#
-                          #{w 9660}#
-                          #{mod 9533}#))))))
-              #{tmp 9535}#)
+                                    #{x 9799}#
+                                    #{w 9657}#
+                                    #{mod 9530}#)))))
+                          #{r 9658}#
+                          #{w 9657}#
+                          #{mod 9530}#))))))
+              #{tmp 9532}#)
             (syntax-violation
               'letrec*
               "bad letrec*"
-              (let ((#{x 10116}#
+              (let ((#{x 10113}#
                       (begin
-                        (if (if (pair? #{e 9529}#) #{s 9532}# #f)
-                          (set-source-properties! #{e 9529}# #{s 9532}#))
-                        #{e 9529}#)))
-                (if (if (null? (car #{w 9531}#))
-                      (null? (cdr #{w 9531}#))
+                        (if (if (pair? #{e 9526}#) #{s 9529}# #f)
+                          (set-source-properties! #{e 9526}# #{s 9529}#))
+                        #{e 9526}#)))
+                (if (if (null? (car #{w 9528}#))
+                      (null? (cdr #{w 9528}#))
                       #f)
-                  #{x 10116}#
-                  (if (if (vector? #{x 10116}#)
-                        (if (= (vector-length #{x 10116}#) 4)
-                          (eq? (vector-ref #{x 10116}# 0) 'syntax-object)
+                  #{x 10113}#
+                  (if (if (vector? #{x 10113}#)
+                        (if (= (vector-length #{x 10113}#) 4)
+                          (eq? (vector-ref #{x 10113}# 0) 'syntax-object)
                           #f)
                         #f)
-                    (let ((#{expression 10148}# (vector-ref #{x 10116}# 1))
-                          (#{wrap 10149}#
-                            (let ((#{w2 10157}# (vector-ref #{x 10116}# 2)))
-                              (let ((#{m1 10158}# (car #{w 9531}#))
-                                    (#{s1 10159}# (cdr #{w 9531}#)))
-                                (if (null? #{m1 10158}#)
-                                  (if (null? #{s1 10159}#)
-                                    #{w2 10157}#
-                                    (cons (car #{w2 10157}#)
-                                          (let ((#{m2 10174}#
-                                                  (cdr #{w2 10157}#)))
-                                            (if (null? #{m2 10174}#)
-                                              #{s1 10159}#
+                    (let ((#{expression 10145}# (vector-ref #{x 10113}# 1))
+                          (#{wrap 10146}#
+                            (let ((#{w2 10154}# (vector-ref #{x 10113}# 2)))
+                              (let ((#{m1 10155}# (car #{w 9528}#))
+                                    (#{s1 10156}# (cdr #{w 9528}#)))
+                                (if (null? #{m1 10155}#)
+                                  (if (null? #{s1 10156}#)
+                                    #{w2 10154}#
+                                    (cons (car #{w2 10154}#)
+                                          (let ((#{m2 10171}#
+                                                  (cdr #{w2 10154}#)))
+                                            (if (null? #{m2 10171}#)
+                                              #{s1 10156}#
                                               (append
-                                                #{s1 10159}#
-                                                #{m2 10174}#)))))
-                                  (cons (let ((#{m2 10182}#
-                                                (car #{w2 10157}#)))
-                                          (if (null? #{m2 10182}#)
-                                            #{m1 10158}#
+                                                #{s1 10156}#
+                                                #{m2 10171}#)))))
+                                  (cons (let ((#{m2 10179}#
+                                                (car #{w2 10154}#)))
+                                          (if (null? #{m2 10179}#)
+                                            #{m1 10155}#
                                             (append
-                                              #{m1 10158}#
-                                              #{m2 10182}#)))
-                                        (let ((#{m2 10190}#
-                                                (cdr #{w2 10157}#)))
-                                          (if (null? #{m2 10190}#)
-                                            #{s1 10159}#
+                                              #{m1 10155}#
+                                              #{m2 10179}#)))
+                                        (let ((#{m2 10187}#
+                                                (cdr #{w2 10154}#)))
+                                          (if (null? #{m2 10187}#)
+                                            #{s1 10156}#
                                             (append
-                                              #{s1 10159}#
-                                              #{m2 10190}#))))))))
-                          (#{module 10150}# (vector-ref #{x 10116}# 3)))
+                                              #{s1 10156}#
+                                              #{m2 10187}#))))))))
+                          (#{module 10147}# (vector-ref #{x 10113}# 3)))
                       (vector
                         'syntax-object
-                        #{expression 10148}#
-                        #{wrap 10149}#
-                        #{module 10150}#))
-                    (if (null? #{x 10116}#)
-                      #{x 10116}#
+                        #{expression 10145}#
+                        #{wrap 10146}#
+                        #{module 10147}#))
+                    (if (null? #{x 10113}#)
+                      #{x 10113}#
                       (vector
                         'syntax-object
-                        #{x 10116}#
-                        #{w 9531}#
-                        #{mod 9533}#))))))))))
-    (#{global-extend 4411}#
+                        #{x 10113}#
+                        #{w 9528}#
+                        #{mod 9530}#))))))))))
+    (#{global-extend 4408}#
       'core
       'set!
-      (lambda (#{e 10353}#
-               #{r 10354}#
-               #{w 10355}#
-               #{s 10356}#
-               #{mod 10357}#)
-        (let ((#{tmp 10359}#
-                ($sc-dispatch #{e 10353}# '(_ any any))))
-          (if (if #{tmp 10359}#
+      (lambda (#{e 10350}#
+               #{r 10351}#
+               #{w 10352}#
+               #{s 10353}#
+               #{mod 10354}#)
+        (let ((#{tmp 10356}#
+                ($sc-dispatch #{e 10350}# '(_ any any))))
+          (if (if #{tmp 10356}#
                 (@apply
-                  (lambda (#{id 10363}# #{val 10364}#)
-                    (if (symbol? #{id 10363}#)
+                  (lambda (#{id 10360}# #{val 10361}#)
+                    (if (symbol? #{id 10360}#)
                       #t
-                      (if (if (vector? #{id 10363}#)
-                            (if (= (vector-length #{id 10363}#) 4)
-                              (eq? (vector-ref #{id 10363}# 0) 'syntax-object)
+                      (if (if (vector? #{id 10360}#)
+                            (if (= (vector-length #{id 10360}#) 4)
+                              (eq? (vector-ref #{id 10360}# 0) 'syntax-object)
                               #f)
                             #f)
-                        (symbol? (vector-ref #{id 10363}# 1))
+                        (symbol? (vector-ref #{id 10360}# 1))
                         #f)))
-                  #{tmp 10359}#)
+                  #{tmp 10356}#)
                 #f)
             (@apply
-              (lambda (#{id 10391}# #{val 10392}#)
+              (lambda (#{id 10388}# #{val 10389}#)
                 (call-with-values
                   (lambda ()
-                    (#{resolve-identifier 4433}#
-                      #{id 10391}#
-                      #{w 10355}#
-                      #{r 10354}#
-                      #{mod 10357}#
+                    (#{resolve-identifier 4430}#
+                      #{id 10388}#
+                      #{w 10352}#
+                      #{r 10351}#
+                      #{mod 10354}#
                       #t))
-                  (lambda (#{type 10395}# #{value 10396}# #{id-mod 10397}#)
-                    (if (eqv? #{type 10395}# 'lexical)
-                      (#{build-lexical-assignment 4384}#
-                        #{s 10356}#
-                        (syntax->datum #{id 10391}#)
-                        #{value 10396}#
-                        (#{chi 4446}#
-                          #{val 10392}#
-                          #{r 10354}#
-                          #{w 10355}#
-                          #{mod 10357}#))
-                      (if (eqv? #{type 10395}# 'global)
-                        (#{build-global-assignment 4387}#
-                          #{s 10356}#
-                          #{value 10396}#
-                          (#{chi 4446}#
-                            #{val 10392}#
-                            #{r 10354}#
-                            #{w 10355}#
-                            #{mod 10357}#)
-                          #{id-mod 10397}#)
-                        (if (eqv? #{type 10395}# 'macro)
+                  (lambda (#{type 10392}# #{value 10393}# #{id-mod 10394}#)
+                    (if (eqv? #{type 10392}# 'lexical)
+                      (#{build-lexical-assignment 4381}#
+                        #{s 10353}#
+                        (syntax->datum #{id 10388}#)
+                        #{value 10393}#
+                        (#{expand 4443}#
+                          #{val 10389}#
+                          #{r 10351}#
+                          #{w 10352}#
+                          #{mod 10354}#))
+                      (if (eqv? #{type 10392}# 'global)
+                        (#{build-global-assignment 4384}#
+                          #{s 10353}#
+                          #{value 10393}#
+                          (#{expand 4443}#
+                            #{val 10389}#
+                            #{r 10351}#
+                            #{w 10352}#
+                            #{mod 10354}#)
+                          #{id-mod 10394}#)
+                        (if (eqv? #{type 10392}# 'macro)
                           (if (procedure-property
-                                #{value 10396}#
+                                #{value 10393}#
                                 'variable-transformer)
-                            (#{chi 4446}#
-                              (#{chi-macro 4449}#
-                                #{value 10396}#
-                                #{e 10353}#
-                                #{r 10354}#
-                                #{w 10355}#
-                                #{s 10356}#
+                            (#{expand 4443}#
+                              (#{expand-macro 4446}#
+                                #{value 10393}#
+                                #{e 10350}#
+                                #{r 10351}#
+                                #{w 10352}#
+                                #{s 10353}#
                                 #f
-                                #{mod 10357}#)
-                              #{r 10354}#
+                                #{mod 10354}#)
+                              #{r 10351}#
                               '(())
-                              #{mod 10357}#)
+                              #{mod 10354}#)
                             (syntax-violation
                               'set!
                               "not a variable transformer"
-                              (if (if (null? (car #{w 10355}#))
-                                    (null? (cdr #{w 10355}#))
+                              (if (if (null? (car #{w 10352}#))
+                                    (null? (cdr #{w 10352}#))
                                     #f)
-                                #{e 10353}#
-                                (if (if (vector? #{e 10353}#)
-                                      (if (= (vector-length #{e 10353}#) 4)
-                                        (eq? (vector-ref #{e 10353}# 0)
+                                #{e 10350}#
+                                (if (if (vector? #{e 10350}#)
+                                      (if (= (vector-length #{e 10350}#) 4)
+                                        (eq? (vector-ref #{e 10350}# 0)
                                              'syntax-object)
                                         #f)
                                       #f)
-                                  (let ((#{expression 10857}#
-                                          (vector-ref #{e 10353}# 1))
-                                        (#{wrap 10858}#
-                                          (let ((#{w2 10868}#
-                                                  (vector-ref #{e 10353}# 2)))
-                                            (let ((#{m1 10869}#
-                                                    (car #{w 10355}#))
-                                                  (#{s1 10870}#
-                                                    (cdr #{w 10355}#)))
-                                              (if (null? #{m1 10869}#)
-                                                (if (null? #{s1 10870}#)
-                                                  #{w2 10868}#
-                                                  (cons (car #{w2 10868}#)
-                                                        (let ((#{m2 10887}#
-                                                                (cdr #{w2 
10868}#)))
-                                                          (if (null? #{m2 
10887}#)
-                                                            #{s1 10870}#
+                                  (let ((#{expression 10854}#
+                                          (vector-ref #{e 10350}# 1))
+                                        (#{wrap 10855}#
+                                          (let ((#{w2 10865}#
+                                                  (vector-ref #{e 10350}# 2)))
+                                            (let ((#{m1 10866}#
+                                                    (car #{w 10352}#))
+                                                  (#{s1 10867}#
+                                                    (cdr #{w 10352}#)))
+                                              (if (null? #{m1 10866}#)
+                                                (if (null? #{s1 10867}#)
+                                                  #{w2 10865}#
+                                                  (cons (car #{w2 10865}#)
+                                                        (let ((#{m2 10884}#
+                                                                (cdr #{w2 
10865}#)))
+                                                          (if (null? #{m2 
10884}#)
+                                                            #{s1 10867}#
                                                             (append
-                                                              #{s1 10870}#
-                                                              #{m2 10887}#)))))
-                                                (cons (let ((#{m2 10895}#
-                                                              (car #{w2 
10868}#)))
-                                                        (if (null? #{m2 
10895}#)
-                                                          #{m1 10869}#
+                                                              #{s1 10867}#
+                                                              #{m2 10884}#)))))
+                                                (cons (let ((#{m2 10892}#
+                                                              (car #{w2 
10865}#)))
+                                                        (if (null? #{m2 
10892}#)
+                                                          #{m1 10866}#
                                                           (append
-                                                            #{m1 10869}#
-                                                            #{m2 10895}#)))
-                                                      (let ((#{m2 10903}#
-                                                              (cdr #{w2 
10868}#)))
-                                                        (if (null? #{m2 
10903}#)
-                                                          #{s1 10870}#
+                                                            #{m1 10866}#
+                                                            #{m2 10892}#)))
+                                                      (let ((#{m2 10900}#
+                                                              (cdr #{w2 
10865}#)))
+                                                        (if (null? #{m2 
10900}#)
+                                                          #{s1 10867}#
                                                           (append
-                                                            #{s1 10870}#
-                                                            #{m2 
10903}#))))))))
-                                        (#{module 10859}#
-                                          (vector-ref #{e 10353}# 3)))
+                                                            #{s1 10867}#
+                                                            #{m2 
10900}#))))))))
+                                        (#{module 10856}#
+                                          (vector-ref #{e 10350}# 3)))
                                     (vector
                                       'syntax-object
-                                      #{expression 10857}#
-                                      #{wrap 10858}#
-                                      #{module 10859}#))
-                                  (if (null? #{e 10353}#)
-                                    #{e 10353}#
+                                      #{expression 10854}#
+                                      #{wrap 10855}#
+                                      #{module 10856}#))
+                                  (if (null? #{e 10350}#)
+                                    #{e 10350}#
                                     (vector
                                       'syntax-object
-                                      #{e 10353}#
-                                      #{w 10355}#
-                                      #{mod 10357}#))))
-                              (if (if (null? (car #{w 10355}#))
-                                    (null? (cdr #{w 10355}#))
+                                      #{e 10350}#
+                                      #{w 10352}#
+                                      #{mod 10354}#))))
+                              (if (if (null? (car #{w 10352}#))
+                                    (null? (cdr #{w 10352}#))
                                     #f)
-                                #{id 10391}#
-                                (if (if (vector? #{id 10391}#)
-                                      (if (= (vector-length #{id 10391}#) 4)
-                                        (eq? (vector-ref #{id 10391}# 0)
+                                #{id 10388}#
+                                (if (if (vector? #{id 10388}#)
+                                      (if (= (vector-length #{id 10388}#) 4)
+                                        (eq? (vector-ref #{id 10388}# 0)
                                              'syntax-object)
                                         #f)
                                       #f)
-                                  (let ((#{expression 10955}#
-                                          (vector-ref #{id 10391}# 1))
-                                        (#{wrap 10956}#
-                                          (let ((#{w2 10966}#
-                                                  (vector-ref #{id 10391}# 2)))
-                                            (let ((#{m1 10967}#
-                                                    (car #{w 10355}#))
-                                                  (#{s1 10968}#
-                                                    (cdr #{w 10355}#)))
-                                              (if (null? #{m1 10967}#)
-                                                (if (null? #{s1 10968}#)
-                                                  #{w2 10966}#
-                                                  (cons (car #{w2 10966}#)
-                                                        (let ((#{m2 10985}#
-                                                                (cdr #{w2 
10966}#)))
-                                                          (if (null? #{m2 
10985}#)
-                                                            #{s1 10968}#
+                                  (let ((#{expression 10952}#
+                                          (vector-ref #{id 10388}# 1))
+                                        (#{wrap 10953}#
+                                          (let ((#{w2 10963}#
+                                                  (vector-ref #{id 10388}# 2)))
+                                            (let ((#{m1 10964}#
+                                                    (car #{w 10352}#))
+                                                  (#{s1 10965}#
+                                                    (cdr #{w 10352}#)))
+                                              (if (null? #{m1 10964}#)
+                                                (if (null? #{s1 10965}#)
+                                                  #{w2 10963}#
+                                                  (cons (car #{w2 10963}#)
+                                                        (let ((#{m2 10982}#
+                                                                (cdr #{w2 
10963}#)))
+                                                          (if (null? #{m2 
10982}#)
+                                                            #{s1 10965}#
                                                             (append
-                                                              #{s1 10968}#
-                                                              #{m2 10985}#)))))
-                                                (cons (let ((#{m2 10993}#
-                                                              (car #{w2 
10966}#)))
-                                                        (if (null? #{m2 
10993}#)
-                                                          #{m1 10967}#
+                                                              #{s1 10965}#
+                                                              #{m2 10982}#)))))
+                                                (cons (let ((#{m2 10990}#
+                                                              (car #{w2 
10963}#)))
+                                                        (if (null? #{m2 
10990}#)
+                                                          #{m1 10964}#
                                                           (append
-                                                            #{m1 10967}#
-                                                            #{m2 10993}#)))
-                                                      (let ((#{m2 11001}#
-                                                              (cdr #{w2 
10966}#)))
-                                                        (if (null? #{m2 
11001}#)
-                                                          #{s1 10968}#
+                                                            #{m1 10964}#
+                                                            #{m2 10990}#)))
+                                                      (let ((#{m2 10998}#
+                                                              (cdr #{w2 
10963}#)))
+                                                        (if (null? #{m2 
10998}#)
+                                                          #{s1 10965}#
                                                           (append
-                                                            #{s1 10968}#
-                                                            #{m2 
11001}#))))))))
-                                        (#{module 10957}#
-                                          (vector-ref #{id 10391}# 3)))
+                                                            #{s1 10965}#
+                                                            #{m2 
10998}#))))))))
+                                        (#{module 10954}#
+                                          (vector-ref #{id 10388}# 3)))
                                     (vector
                                       'syntax-object
-                                      #{expression 10955}#
-                                      #{wrap 10956}#
-                                      #{module 10957}#))
-                                  (if (null? #{id 10391}#)
-                                    #{id 10391}#
+                                      #{expression 10952}#
+                                      #{wrap 10953}#
+                                      #{module 10954}#))
+                                  (if (null? #{id 10388}#)
+                                    #{id 10388}#
                                     (vector
                                       'syntax-object
-                                      #{id 10391}#
-                                      #{w 10355}#
-                                      #{id-mod 10397}#))))))
-                          (if (eqv? #{type 10395}# 'displaced-lexical)
+                                      #{id 10388}#
+                                      #{w 10352}#
+                                      #{id-mod 10394}#))))))
+                          (if (eqv? #{type 10392}# 'displaced-lexical)
                             (syntax-violation
                               'set!
                               "identifier out of context"
-                              (if (if (null? (car #{w 10355}#))
-                                    (null? (cdr #{w 10355}#))
+                              (if (if (null? (car #{w 10352}#))
+                                    (null? (cdr #{w 10352}#))
                                     #f)
-                                #{id 10391}#
-                                (if (if (vector? #{id 10391}#)
-                                      (if (= (vector-length #{id 10391}#) 4)
-                                        (eq? (vector-ref #{id 10391}# 0)
+                                #{id 10388}#
+                                (if (if (vector? #{id 10388}#)
+                                      (if (= (vector-length #{id 10388}#) 4)
+                                        (eq? (vector-ref #{id 10388}# 0)
                                              'syntax-object)
                                         #f)
                                       #f)
-                                  (let ((#{expression 11056}#
-                                          (vector-ref #{id 10391}# 1))
-                                        (#{wrap 11057}#
-                                          (let ((#{w2 11067}#
-                                                  (vector-ref #{id 10391}# 2)))
-                                            (let ((#{m1 11068}#
-                                                    (car #{w 10355}#))
-                                                  (#{s1 11069}#
-                                                    (cdr #{w 10355}#)))
-                                              (if (null? #{m1 11068}#)
-                                                (if (null? #{s1 11069}#)
-                                                  #{w2 11067}#
-                                                  (cons (car #{w2 11067}#)
-                                                        (let ((#{m2 11086}#
-                                                                (cdr #{w2 
11067}#)))
-                                                          (if (null? #{m2 
11086}#)
-                                                            #{s1 11069}#
+                                  (let ((#{expression 11053}#
+                                          (vector-ref #{id 10388}# 1))
+                                        (#{wrap 11054}#
+                                          (let ((#{w2 11064}#
+                                                  (vector-ref #{id 10388}# 2)))
+                                            (let ((#{m1 11065}#
+                                                    (car #{w 10352}#))
+                                                  (#{s1 11066}#
+                                                    (cdr #{w 10352}#)))
+                                              (if (null? #{m1 11065}#)
+                                                (if (null? #{s1 11066}#)
+                                                  #{w2 11064}#
+                                                  (cons (car #{w2 11064}#)
+                                                        (let ((#{m2 11083}#
+                                                                (cdr #{w2 
11064}#)))
+                                                          (if (null? #{m2 
11083}#)
+                                                            #{s1 11066}#
                                                             (append
-                                                              #{s1 11069}#
-                                                              #{m2 11086}#)))))
-                                                (cons (let ((#{m2 11094}#
-                                                              (car #{w2 
11067}#)))
-                                                        (if (null? #{m2 
11094}#)
-                                                          #{m1 11068}#
+                                                              #{s1 11066}#
+                                                              #{m2 11083}#)))))
+                                                (cons (let ((#{m2 11091}#
+                                                              (car #{w2 
11064}#)))
+                                                        (if (null? #{m2 
11091}#)
+                                                          #{m1 11065}#
                                                           (append
-                                                            #{m1 11068}#
-                                                            #{m2 11094}#)))
-                                                      (let ((#{m2 11102}#
-                                                              (cdr #{w2 
11067}#)))
-                                                        (if (null? #{m2 
11102}#)
-                                                          #{s1 11069}#
+                                                            #{m1 11065}#
+                                                            #{m2 11091}#)))
+                                                      (let ((#{m2 11099}#
+                                                              (cdr #{w2 
11064}#)))
+                                                        (if (null? #{m2 
11099}#)
+                                                          #{s1 11066}#
                                                           (append
-                                                            #{s1 11069}#
-                                                            #{m2 
11102}#))))))))
-                                        (#{module 11058}#
-                                          (vector-ref #{id 10391}# 3)))
+                                                            #{s1 11066}#
+                                                            #{m2 
11099}#))))))))
+                                        (#{module 11055}#
+                                          (vector-ref #{id 10388}# 3)))
                                     (vector
                                       'syntax-object
-                                      #{expression 11056}#
-                                      #{wrap 11057}#
-                                      #{module 11058}#))
-                                  (if (null? #{id 10391}#)
-                                    #{id 10391}#
+                                      #{expression 11053}#
+                                      #{wrap 11054}#
+                                      #{module 11055}#))
+                                  (if (null? #{id 10388}#)
+                                    #{id 10388}#
                                     (vector
                                       'syntax-object
-                                      #{id 10391}#
-                                      #{w 10355}#
-                                      #{mod 10357}#)))))
+                                      #{id 10388}#
+                                      #{w 10352}#
+                                      #{mod 10354}#)))))
                             (syntax-violation
                               'set!
                               "bad set!"
-                              (let ((#{x 11134}#
+                              (let ((#{x 11131}#
                                       (begin
-                                        (if (if (pair? #{e 10353}#)
-                                              #{s 10356}#
+                                        (if (if (pair? #{e 10350}#)
+                                              #{s 10353}#
                                               #f)
                                           (set-source-properties!
-                                            #{e 10353}#
-                                            #{s 10356}#))
-                                        #{e 10353}#)))
-                                (if (if (null? (car #{w 10355}#))
-                                      (null? (cdr #{w 10355}#))
+                                            #{e 10350}#
+                                            #{s 10353}#))
+                                        #{e 10350}#)))
+                                (if (if (null? (car #{w 10352}#))
+                                      (null? (cdr #{w 10352}#))
                                       #f)
-                                  #{x 11134}#
-                                  (if (if (vector? #{x 11134}#)
-                                        (if (= (vector-length #{x 11134}#) 4)
-                                          (eq? (vector-ref #{x 11134}# 0)
+                                  #{x 11131}#
+                                  (if (if (vector? #{x 11131}#)
+                                        (if (= (vector-length #{x 11131}#) 4)
+                                          (eq? (vector-ref #{x 11131}# 0)
                                                'syntax-object)
                                           #f)
                                         #f)
-                                    (let ((#{expression 11166}#
-                                            (vector-ref #{x 11134}# 1))
-                                          (#{wrap 11167}#
-                                            (let ((#{w2 11175}#
+                                    (let ((#{expression 11163}#
+                                            (vector-ref #{x 11131}# 1))
+                                          (#{wrap 11164}#
+                                            (let ((#{w2 11172}#
                                                     (vector-ref
-                                                      #{x 11134}#
+                                                      #{x 11131}#
                                                       2)))
-                                              (let ((#{m1 11176}#
-                                                      (car #{w 10355}#))
-                                                    (#{s1 11177}#
-                                                      (cdr #{w 10355}#)))
-                                                (if (null? #{m1 11176}#)
-                                                  (if (null? #{s1 11177}#)
-                                                    #{w2 11175}#
-                                                    (cons (car #{w2 11175}#)
-                                                          (let ((#{m2 11192}#
-                                                                  (cdr #{w2 
11175}#)))
-                                                            (if (null? #{m2 
11192}#)
-                                                              #{s1 11177}#
+                                              (let ((#{m1 11173}#
+                                                      (car #{w 10352}#))
+                                                    (#{s1 11174}#
+                                                      (cdr #{w 10352}#)))
+                                                (if (null? #{m1 11173}#)
+                                                  (if (null? #{s1 11174}#)
+                                                    #{w2 11172}#
+                                                    (cons (car #{w2 11172}#)
+                                                          (let ((#{m2 11189}#
+                                                                  (cdr #{w2 
11172}#)))
+                                                            (if (null? #{m2 
11189}#)
+                                                              #{s1 11174}#
                                                               (append
-                                                                #{s1 11177}#
-                                                                #{m2 
11192}#)))))
-                                                  (cons (let ((#{m2 11200}#
-                                                                (car #{w2 
11175}#)))
-                                                          (if (null? #{m2 
11200}#)
-                                                            #{m1 11176}#
+                                                                #{s1 11174}#
+                                                                #{m2 
11189}#)))))
+                                                  (cons (let ((#{m2 11197}#
+                                                                (car #{w2 
11172}#)))
+                                                          (if (null? #{m2 
11197}#)
+                                                            #{m1 11173}#
                                                             (append
-                                                              #{m1 11176}#
-                                                              #{m2 11200}#)))
-                                                        (let ((#{m2 11208}#
-                                                                (cdr #{w2 
11175}#)))
-                                                          (if (null? #{m2 
11208}#)
-                                                            #{s1 11177}#
+                                                              #{m1 11173}#
+                                                              #{m2 11197}#)))
+                                                        (let ((#{m2 11205}#
+                                                                (cdr #{w2 
11172}#)))
+                                                          (if (null? #{m2 
11205}#)
+                                                            #{s1 11174}#
                                                             (append
-                                                              #{s1 11177}#
-                                                              #{m2 
11208}#))))))))
-                                          (#{module 11168}#
-                                            (vector-ref #{x 11134}# 3)))
+                                                              #{s1 11174}#
+                                                              #{m2 
11205}#))))))))
+                                          (#{module 11165}#
+                                            (vector-ref #{x 11131}# 3)))
                                       (vector
                                         'syntax-object
-                                        #{expression 11166}#
-                                        #{wrap 11167}#
-                                        #{module 11168}#))
-                                    (if (null? #{x 11134}#)
-                                      #{x 11134}#
+                                        #{expression 11163}#
+                                        #{wrap 11164}#
+                                        #{module 11165}#))
+                                    (if (null? #{x 11131}#)
+                                      #{x 11131}#
                                       (vector
                                         'syntax-object
-                                        #{x 11134}#
-                                        #{w 10355}#
-                                        #{mod 10357}#)))))))))))))
-              #{tmp 10359}#)
-            (let ((#{tmp 11223}#
+                                        #{x 11131}#
+                                        #{w 10352}#
+                                        #{mod 10354}#)))))))))))))
+              #{tmp 10356}#)
+            (let ((#{tmp 11220}#
                     ($sc-dispatch
-                      #{e 10353}#
+                      #{e 10350}#
                       '(_ (any . each-any) any))))
-              (if #{tmp 11223}#
+              (if #{tmp 11220}#
                 (@apply
-                  (lambda (#{head 11227}# #{tail 11228}# #{val 11229}#)
+                  (lambda (#{head 11224}# #{tail 11225}# #{val 11226}#)
                     (call-with-values
                       (lambda ()
-                        (#{syntax-type 4445}#
-                          #{head 11227}#
-                          #{r 10354}#
+                        (#{syntax-type 4442}#
+                          #{head 11224}#
+                          #{r 10351}#
                           '(())
                           #f
                           #f
-                          #{mod 10357}#
+                          #{mod 10354}#
                           #t))
-                      (lambda (#{type 11232}#
-                               #{value 11233}#
-                               #{ee 11234}#
-                               #{ww 11235}#
-                               #{ss 11236}#
-                               #{modmod 11237}#)
-                        (if (eqv? #{type 11232}# 'module-ref)
-                          (let ((#{val 11241}#
-                                  (#{chi 4446}#
-                                    #{val 11229}#
-                                    #{r 10354}#
-                                    #{w 10355}#
-                                    #{mod 10357}#)))
+                      (lambda (#{type 11229}#
+                               #{value 11230}#
+                               #{ee 11231}#
+                               #{ww 11232}#
+                               #{ss 11233}#
+                               #{modmod 11234}#)
+                        (if (eqv? #{type 11229}# 'module-ref)
+                          (let ((#{val 11238}#
+                                  (#{expand 4443}#
+                                    #{val 11226}#
+                                    #{r 10351}#
+                                    #{w 10352}#
+                                    #{mod 10354}#)))
                             (call-with-values
                               (lambda ()
-                                (#{value 11233}#
-                                  (cons #{head 11227}# #{tail 11228}#)
-                                  #{r 10354}#
-                                  #{w 10355}#))
-                              (lambda (#{e 11242}#
-                                       #{r 11243}#
-                                       #{w 11244}#
-                                       #{s* 11245}#
-                                       #{mod 11246}#)
-                                (let ((#{tmp 11248}# (list #{e 11242}#)))
+                                (#{value 11230}#
+                                  (cons #{head 11224}# #{tail 11225}#)
+                                  #{r 10351}#
+                                  #{w 10352}#))
+                              (lambda (#{e 11239}#
+                                       #{r 11240}#
+                                       #{w 11241}#
+                                       #{s* 11242}#
+                                       #{mod 11243}#)
+                                (let ((#{tmp 11245}# (list #{e 11239}#)))
                                   (if (@apply
-                                        (lambda (#{e 11250}#)
-                                          (if (symbol? #{e 11250}#)
+                                        (lambda (#{e 11247}#)
+                                          (if (symbol? #{e 11247}#)
                                             #t
-                                            (if (if (vector? #{e 11250}#)
+                                            (if (if (vector? #{e 11247}#)
                                                   (if (= (vector-length
-                                                           #{e 11250}#)
+                                                           #{e 11247}#)
                                                          4)
                                                     (eq? (vector-ref
-                                                           #{e 11250}#
+                                                           #{e 11247}#
                                                            0)
                                                          'syntax-object)
                                                     #f)
                                                   #f)
                                               (symbol?
-                                                (vector-ref #{e 11250}# 1))
+                                                (vector-ref #{e 11247}# 1))
                                               #f)))
-                                        #{tmp 11248}#)
+                                        #{tmp 11245}#)
                                     (@apply
-                                      (lambda (#{e 11280}#)
-                                        (#{build-global-assignment 4387}#
-                                          #{s 10356}#
-                                          (syntax->datum #{e 11280}#)
-                                          #{val 11241}#
-                                          #{mod 11246}#))
-                                      #{tmp 11248}#)
+                                      (lambda (#{e 11277}#)
+                                        (#{build-global-assignment 4384}#
+                                          #{s 10353}#
+                                          (syntax->datum #{e 11277}#)
+                                          #{val 11238}#
+                                          #{mod 11243}#))
+                                      #{tmp 11245}#)
                                     (syntax-violation
                                       #f
                                       "source expression failed to match any 
pattern"
-                                      #{e 11242}#))))))
-                          (#{build-call 4380}#
-                            #{s 10356}#
-                            (#{chi 4446}#
+                                      #{e 11239}#))))))
+                          (#{build-call 4377}#
+                            #{s 10353}#
+                            (#{expand 4443}#
                               (list '#(syntax-object
                                        setter
                                        ((top)
@@ -11168,47 +11104,47 @@
                                             (top)
                                             (top)
                                             (top))
-                                          #("i3658"
+                                          #("i3655"
+                                            "i3656"
+                                            "i3657"
+                                            "i3658"
                                             "i3659"
-                                            "i3660"
-                                            "i3661"
-                                            "i3662"
-                                            "i3663"))
+                                            "i3660"))
                                         #(ribcage
                                           #(head tail val)
                                           #((top) (top) (top))
-                                          #("i3644" "i3645" "i3646"))
+                                          #("i3641" "i3642" "i3643"))
                                         #(ribcage () () ())
                                         #(ribcage
                                           #(e r w s mod)
                                           #((top) (top) (top) (top) (top))
-                                          #("i3616"
-                                            "i3617"
-                                            "i3618"
-                                            "i3619"
-                                            "i3620"))
+                                          #("i3613"
+                                            "i3614"
+                                            "i3615"
+                                            "i3616"
+                                            "i3617"))
                                         #(ribcage
                                           (lambda-var-list
                                             gen-var
                                             strip
-                                            chi-lambda-case
+                                            expand-lambda-case
                                             lambda*-formals
-                                            chi-simple-lambda
+                                            expand-simple-lambda
                                             lambda-formals
                                             ellipsis?
-                                            chi-void
+                                            expand-void
                                             eval-local-transformer
-                                            chi-local-syntax
-                                            chi-body
-                                            chi-macro
-                                            chi-call
-                                            chi-expr
-                                            chi
+                                            expand-local-syntax
+                                            expand-body
+                                            expand-macro
+                                            expand-call
+                                            expand-expr
+                                            expand
                                             syntax-type
-                                            chi-when-list
-                                            chi-install-global
-                                            chi-top-sequence
-                                            chi-sequence
+                                            parse-when-list
+                                            expand-install-global
+                                            expand-top-sequence
+                                            expand-sequence
                                             source-wrap
                                             wrap
                                             bound-id-member?
@@ -11610,113 +11546,113 @@
                                           ("i46" "i45" "i44"))
                                         #(ribcage () () ()))
                                        (hygiene guile))
-                                    #{head 11227}#)
-                              #{r 10354}#
-                              #{w 10355}#
-                              #{mod 10357}#)
-                            (map (lambda (#{e 11609}#)
-                                   (#{chi 4446}#
-                                     #{e 11609}#
-                                     #{r 10354}#
-                                     #{w 10355}#
-                                     #{mod 10357}#))
+                                    #{head 11224}#)
+                              #{r 10351}#
+                              #{w 10352}#
+                              #{mod 10354}#)
+                            (map (lambda (#{e 11606}#)
+                                   (#{expand 4443}#
+                                     #{e 11606}#
+                                     #{r 10351}#
+                                     #{w 10352}#
+                                     #{mod 10354}#))
                                  (append
-                                   #{tail 11228}#
-                                   (list #{val 11229}#))))))))
-                  #{tmp 11223}#)
+                                   #{tail 11225}#
+                                   (list #{val 11226}#))))))))
+                  #{tmp 11220}#)
                 (syntax-violation
                   'set!
                   "bad set!"
-                  (let ((#{x 11701}#
+                  (let ((#{x 11698}#
                           (begin
-                            (if (if (pair? #{e 10353}#) #{s 10356}# #f)
-                              (set-source-properties! #{e 10353}# #{s 10356}#))
-                            #{e 10353}#)))
-                    (if (if (null? (car #{w 10355}#))
-                          (null? (cdr #{w 10355}#))
+                            (if (if (pair? #{e 10350}#) #{s 10353}# #f)
+                              (set-source-properties! #{e 10350}# #{s 10353}#))
+                            #{e 10350}#)))
+                    (if (if (null? (car #{w 10352}#))
+                          (null? (cdr #{w 10352}#))
                           #f)
-                      #{x 11701}#
-                      (if (if (vector? #{x 11701}#)
-                            (if (= (vector-length #{x 11701}#) 4)
-                              (eq? (vector-ref #{x 11701}# 0) 'syntax-object)
+                      #{x 11698}#
+                      (if (if (vector? #{x 11698}#)
+                            (if (= (vector-length #{x 11698}#) 4)
+                              (eq? (vector-ref #{x 11698}# 0) 'syntax-object)
                               #f)
                             #f)
-                        (let ((#{expression 11733}# (vector-ref #{x 11701}# 1))
-                              (#{wrap 11734}#
-                                (let ((#{w2 11742}#
-                                        (vector-ref #{x 11701}# 2)))
-                                  (let ((#{m1 11743}# (car #{w 10355}#))
-                                        (#{s1 11744}# (cdr #{w 10355}#)))
-                                    (if (null? #{m1 11743}#)
-                                      (if (null? #{s1 11744}#)
-                                        #{w2 11742}#
-                                        (cons (car #{w2 11742}#)
-                                              (let ((#{m2 11759}#
-                                                      (cdr #{w2 11742}#)))
-                                                (if (null? #{m2 11759}#)
-                                                  #{s1 11744}#
+                        (let ((#{expression 11730}# (vector-ref #{x 11698}# 1))
+                              (#{wrap 11731}#
+                                (let ((#{w2 11739}#
+                                        (vector-ref #{x 11698}# 2)))
+                                  (let ((#{m1 11740}# (car #{w 10352}#))
+                                        (#{s1 11741}# (cdr #{w 10352}#)))
+                                    (if (null? #{m1 11740}#)
+                                      (if (null? #{s1 11741}#)
+                                        #{w2 11739}#
+                                        (cons (car #{w2 11739}#)
+                                              (let ((#{m2 11756}#
+                                                      (cdr #{w2 11739}#)))
+                                                (if (null? #{m2 11756}#)
+                                                  #{s1 11741}#
                                                   (append
-                                                    #{s1 11744}#
-                                                    #{m2 11759}#)))))
-                                      (cons (let ((#{m2 11767}#
-                                                    (car #{w2 11742}#)))
-                                              (if (null? #{m2 11767}#)
-                                                #{m1 11743}#
+                                                    #{s1 11741}#
+                                                    #{m2 11756}#)))))
+                                      (cons (let ((#{m2 11764}#
+                                                    (car #{w2 11739}#)))
+                                              (if (null? #{m2 11764}#)
+                                                #{m1 11740}#
                                                 (append
-                                                  #{m1 11743}#
-                                                  #{m2 11767}#)))
-                                            (let ((#{m2 11775}#
-                                                    (cdr #{w2 11742}#)))
-                                              (if (null? #{m2 11775}#)
-                                                #{s1 11744}#
+                                                  #{m1 11740}#
+                                                  #{m2 11764}#)))
+                                            (let ((#{m2 11772}#
+                                                    (cdr #{w2 11739}#)))
+                                              (if (null? #{m2 11772}#)
+                                                #{s1 11741}#
                                                 (append
-                                                  #{s1 11744}#
-                                                  #{m2 11775}#))))))))
-                              (#{module 11735}# (vector-ref #{x 11701}# 3)))
+                                                  #{s1 11741}#
+                                                  #{m2 11772}#))))))))
+                              (#{module 11732}# (vector-ref #{x 11698}# 3)))
                           (vector
                             'syntax-object
-                            #{expression 11733}#
-                            #{wrap 11734}#
-                            #{module 11735}#))
-                        (if (null? #{x 11701}#)
-                          #{x 11701}#
+                            #{expression 11730}#
+                            #{wrap 11731}#
+                            #{module 11732}#))
+                        (if (null? #{x 11698}#)
+                          #{x 11698}#
                           (vector
                             'syntax-object
-                            #{x 11701}#
-                            #{w 10355}#
-                            #{mod 10357}#))))))))))))
+                            #{x 11698}#
+                            #{w 10352}#
+                            #{mod 10354}#))))))))))))
     (module-define!
       (current-module)
       '@
       (make-syntax-transformer
         '@
         'module-ref
-        (lambda (#{e 11806}# #{r 11807}# #{w 11808}#)
-          (let ((#{tmp 11810}#
-                  ($sc-dispatch #{e 11806}# '(_ each-any any))))
-            (if (if #{tmp 11810}#
+        (lambda (#{e 11803}# #{r 11804}# #{w 11805}#)
+          (let ((#{tmp 11807}#
+                  ($sc-dispatch #{e 11803}# '(_ each-any any))))
+            (if (if #{tmp 11807}#
                   (@apply
-                    (lambda (#{mod 11813}# #{id 11814}#)
-                      (if (and-map #{id? 4413}# #{mod 11813}#)
-                        (if (symbol? #{id 11814}#)
+                    (lambda (#{mod 11810}# #{id 11811}#)
+                      (if (and-map #{id? 4410}# #{mod 11810}#)
+                        (if (symbol? #{id 11811}#)
                           #t
-                          (if (if (vector? #{id 11814}#)
-                                (if (= (vector-length #{id 11814}#) 4)
-                                  (eq? (vector-ref #{id 11814}# 0)
+                          (if (if (vector? #{id 11811}#)
+                                (if (= (vector-length #{id 11811}#) 4)
+                                  (eq? (vector-ref #{id 11811}# 0)
                                        'syntax-object)
                                   #f)
                                 #f)
-                            (symbol? (vector-ref #{id 11814}# 1))
+                            (symbol? (vector-ref #{id 11811}# 1))
                             #f))
                         #f))
-                    #{tmp 11810}#)
+                    #{tmp 11807}#)
                   #f)
               (@apply
-                (lambda (#{mod 11854}# #{id 11855}#)
+                (lambda (#{mod 11851}# #{id 11852}#)
                   (values
-                    (syntax->datum #{id 11855}#)
-                    #{r 11807}#
-                    #{w 11808}#
+                    (syntax->datum #{id 11852}#)
+                    #{r 11804}#
+                    #{w 11805}#
                     #f
                     (syntax->datum
                       (cons '#(syntax-object
@@ -11725,34 +11661,34 @@
                                 #(ribcage
                                   #(mod id)
                                   #((top) (top))
-                                  #("i3705" "i3706"))
+                                  #("i3702" "i3703"))
                                 #(ribcage () () ())
                                 #(ribcage
                                   #(e r w)
                                   #((top) (top) (top))
-                                  #("i3693" "i3694" "i3695"))
+                                  #("i3690" "i3691" "i3692"))
                                 #(ribcage
                                   (lambda-var-list
                                     gen-var
                                     strip
-                                    chi-lambda-case
+                                    expand-lambda-case
                                     lambda*-formals
-                                    chi-simple-lambda
+                                    expand-simple-lambda
                                     lambda-formals
                                     ellipsis?
-                                    chi-void
+                                    expand-void
                                     eval-local-transformer
-                                    chi-local-syntax
-                                    chi-body
-                                    chi-macro
-                                    chi-call
-                                    chi-expr
-                                    chi
+                                    expand-local-syntax
+                                    expand-body
+                                    expand-macro
+                                    expand-call
+                                    expand-expr
+                                    expand
                                     syntax-type
-                                    chi-when-list
-                                    chi-install-global
-                                    chi-top-sequence
-                                    chi-sequence
+                                    parse-when-list
+                                    expand-install-global
+                                    expand-top-sequence
+                                    expand-sequence
                                     source-wrap
                                     wrap
                                     bound-id-member?
@@ -12154,70 +12090,70 @@
                                   ("i46" "i45" "i44"))
                                 #(ribcage () () ()))
                                (hygiene guile))
-                            #{mod 11854}#))))
-                #{tmp 11810}#)
+                            #{mod 11851}#))))
+                #{tmp 11807}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{e 11806}#))))))
-    (#{global-extend 4411}#
+                #{e 11803}#))))))
+    (#{global-extend 4408}#
       'module-ref
       '@@
-      (lambda (#{e 11959}# #{r 11960}# #{w 11961}#)
+      (lambda (#{e 11956}# #{r 11957}# #{w 11958}#)
         (letrec*
-          ((#{remodulate 11962}#
-             (lambda (#{x 12198}# #{mod 12199}#)
-               (if (pair? #{x 12198}#)
-                 (cons (#{remodulate 11962}#
-                         (car #{x 12198}#)
-                         #{mod 12199}#)
-                       (#{remodulate 11962}#
-                         (cdr #{x 12198}#)
-                         #{mod 12199}#))
-                 (if (if (vector? #{x 12198}#)
-                       (if (= (vector-length #{x 12198}#) 4)
-                         (eq? (vector-ref #{x 12198}# 0) 'syntax-object)
+          ((#{remodulate 11959}#
+             (lambda (#{x 12195}# #{mod 12196}#)
+               (if (pair? #{x 12195}#)
+                 (cons (#{remodulate 11959}#
+                         (car #{x 12195}#)
+                         #{mod 12196}#)
+                       (#{remodulate 11959}#
+                         (cdr #{x 12195}#)
+                         #{mod 12196}#))
+                 (if (if (vector? #{x 12195}#)
+                       (if (= (vector-length #{x 12195}#) 4)
+                         (eq? (vector-ref #{x 12195}# 0) 'syntax-object)
                          #f)
                        #f)
-                   (let ((#{expression 12213}#
-                           (#{remodulate 11962}#
-                             (vector-ref #{x 12198}# 1)
-                             #{mod 12199}#))
-                         (#{wrap 12214}# (vector-ref #{x 12198}# 2)))
+                   (let ((#{expression 12210}#
+                           (#{remodulate 11959}#
+                             (vector-ref #{x 12195}# 1)
+                             #{mod 12196}#))
+                         (#{wrap 12211}# (vector-ref #{x 12195}# 2)))
                      (vector
                        'syntax-object
-                       #{expression 12213}#
-                       #{wrap 12214}#
-                       #{mod 12199}#))
-                   (if (vector? #{x 12198}#)
-                     (let ((#{n 12222}# (vector-length #{x 12198}#)))
-                       (let ((#{v 12223}# (make-vector #{n 12222}#)))
+                       #{expression 12210}#
+                       #{wrap 12211}#
+                       #{mod 12196}#))
+                   (if (vector? #{x 12195}#)
+                     (let ((#{n 12219}# (vector-length #{x 12195}#)))
+                       (let ((#{v 12220}# (make-vector #{n 12219}#)))
                          (letrec*
-                           ((#{loop 12224}#
-                              (lambda (#{i 12279}#)
-                                (if (= #{i 12279}# #{n 12222}#)
-                                  #{v 12223}#
+                           ((#{loop 12221}#
+                              (lambda (#{i 12276}#)
+                                (if (= #{i 12276}# #{n 12219}#)
+                                  #{v 12220}#
                                   (begin
                                     (vector-set!
-                                      #{v 12223}#
-                                      #{i 12279}#
-                                      (#{remodulate 11962}#
-                                        (vector-ref #{x 12198}# #{i 12279}#)
-                                        #{mod 12199}#))
-                                    (#{loop 12224}# (#{1+}# #{i 12279}#)))))))
-                           (#{loop 12224}# 0))))
-                     #{x 12198}#))))))
-          (let ((#{tmp 11964}#
-                  ($sc-dispatch #{e 11959}# '(_ each-any any))))
-            (if (if #{tmp 11964}#
+                                      #{v 12220}#
+                                      #{i 12276}#
+                                      (#{remodulate 11959}#
+                                        (vector-ref #{x 12195}# #{i 12276}#)
+                                        #{mod 12196}#))
+                                    (#{loop 12221}# (#{1+}# #{i 12276}#)))))))
+                           (#{loop 12221}# 0))))
+                     #{x 12195}#))))))
+          (let ((#{tmp 11961}#
+                  ($sc-dispatch #{e 11956}# '(_ each-any any))))
+            (if (if #{tmp 11961}#
                   (@apply
-                    (lambda (#{mod 11968}# #{exp 11969}#)
-                      (and-map #{id? 4413}# #{mod 11968}#))
-                    #{tmp 11964}#)
+                    (lambda (#{mod 11965}# #{exp 11966}#)
+                      (and-map #{id? 4410}# #{mod 11965}#))
+                    #{tmp 11961}#)
                   #f)
               (@apply
-                (lambda (#{mod 11985}# #{exp 11986}#)
-                  (let ((#{mod 11987}#
+                (lambda (#{mod 11982}# #{exp 11983}#)
+                  (let ((#{mod 11984}#
                           (syntax->datum
                             (cons '#(syntax-object
                                      private
@@ -12225,34 +12161,34 @@
                                       #(ribcage
                                         #(mod exp)
                                         #((top) (top))
-                                        #("i3749" "i3750"))
-                                      #(ribcage (remodulate) ((top)) ("i3716"))
+                                        #("i3746" "i3747"))
+                                      #(ribcage (remodulate) ((top)) ("i3713"))
                                       #(ribcage
                                         #(e r w)
                                         #((top) (top) (top))
-                                        #("i3713" "i3714" "i3715"))
+                                        #("i3710" "i3711" "i3712"))
                                       #(ribcage
                                         (lambda-var-list
                                           gen-var
                                           strip
-                                          chi-lambda-case
+                                          expand-lambda-case
                                           lambda*-formals
-                                          chi-simple-lambda
+                                          expand-simple-lambda
                                           lambda-formals
                                           ellipsis?
-                                          chi-void
+                                          expand-void
                                           eval-local-transformer
-                                          chi-local-syntax
-                                          chi-body
-                                          chi-macro
-                                          chi-call
-                                          chi-expr
-                                          chi
+                                          expand-local-syntax
+                                          expand-body
+                                          expand-macro
+                                          expand-call
+                                          expand-expr
+                                          expand
                                           syntax-type
-                                          chi-when-list
-                                          chi-install-global
-                                          chi-top-sequence
-                                          chi-sequence
+                                          parse-when-list
+                                          expand-install-global
+                                          expand-top-sequence
+                                          expand-sequence
                                           source-wrap
                                           wrap
                                           bound-id-member?
@@ -12654,181 +12590,181 @@
                                         ("i46" "i45" "i44"))
                                       #(ribcage () () ()))
                                      (hygiene guile))
-                                  #{mod 11985}#))))
+                                  #{mod 11982}#))))
                     (values
-                      (#{remodulate 11962}#
-                        #{exp 11986}#
-                        #{mod 11987}#)
-                      #{r 11960}#
-                      #{w 11961}#
-                      (#{source-annotation 4407}# #{exp 11986}#)
-                      #{mod 11987}#)))
-                #{tmp 11964}#)
+                      (#{remodulate 11959}#
+                        #{exp 11983}#
+                        #{mod 11984}#)
+                      #{r 11957}#
+                      #{w 11958}#
+                      (#{source-annotation 4404}# #{exp 11983}#)
+                      #{mod 11984}#)))
+                #{tmp 11961}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{e 11959}#))))))
-    (#{global-extend 4411}#
+                #{e 11956}#))))))
+    (#{global-extend 4408}#
       'core
       'if
-      (lambda (#{e 12392}#
-               #{r 12393}#
-               #{w 12394}#
-               #{s 12395}#
-               #{mod 12396}#)
-        (let ((#{tmp 12398}#
-                ($sc-dispatch #{e 12392}# '(_ any any))))
-          (if #{tmp 12398}#
+      (lambda (#{e 12389}#
+               #{r 12390}#
+               #{w 12391}#
+               #{s 12392}#
+               #{mod 12393}#)
+        (let ((#{tmp 12395}#
+                ($sc-dispatch #{e 12389}# '(_ any any))))
+          (if #{tmp 12395}#
             (@apply
-              (lambda (#{test 12402}# #{then 12403}#)
-                (#{build-conditional 4381}#
-                  #{s 12395}#
-                  (#{chi 4446}#
-                    #{test 12402}#
-                    #{r 12393}#
-                    #{w 12394}#
-                    #{mod 12396}#)
-                  (#{chi 4446}#
-                    #{then 12403}#
-                    #{r 12393}#
-                    #{w 12394}#
-                    #{mod 12396}#)
+              (lambda (#{test 12399}# #{then 12400}#)
+                (#{build-conditional 4378}#
+                  #{s 12392}#
+                  (#{expand 4443}#
+                    #{test 12399}#
+                    #{r 12390}#
+                    #{w 12391}#
+                    #{mod 12393}#)
+                  (#{expand 4443}#
+                    #{then 12400}#
+                    #{r 12390}#
+                    #{w 12391}#
+                    #{mod 12393}#)
                   (make-struct/no-tail
                     (vector-ref %expanded-vtables 0)
                     #f)))
-              #{tmp 12398}#)
-            (let ((#{tmp 12664}#
-                    ($sc-dispatch #{e 12392}# '(_ any any any))))
-              (if #{tmp 12664}#
+              #{tmp 12395}#)
+            (let ((#{tmp 12661}#
+                    ($sc-dispatch #{e 12389}# '(_ any any any))))
+              (if #{tmp 12661}#
                 (@apply
-                  (lambda (#{test 12668}# #{then 12669}# #{else 12670}#)
-                    (#{build-conditional 4381}#
-                      #{s 12395}#
-                      (#{chi 4446}#
-                        #{test 12668}#
-                        #{r 12393}#
-                        #{w 12394}#
-                        #{mod 12396}#)
-                      (#{chi 4446}#
-                        #{then 12669}#
-                        #{r 12393}#
-                        #{w 12394}#
-                        #{mod 12396}#)
-                      (#{chi 4446}#
-                        #{else 12670}#
-                        #{r 12393}#
-                        #{w 12394}#
-                        #{mod 12396}#)))
-                  #{tmp 12664}#)
+                  (lambda (#{test 12665}# #{then 12666}# #{else 12667}#)
+                    (#{build-conditional 4378}#
+                      #{s 12392}#
+                      (#{expand 4443}#
+                        #{test 12665}#
+                        #{r 12390}#
+                        #{w 12391}#
+                        #{mod 12393}#)
+                      (#{expand 4443}#
+                        #{then 12666}#
+                        #{r 12390}#
+                        #{w 12391}#
+                        #{mod 12393}#)
+                      (#{expand 4443}#
+                        #{else 12667}#
+                        #{r 12390}#
+                        #{w 12391}#
+                        #{mod 12393}#)))
+                  #{tmp 12661}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{e 12392}#)))))))
-    (#{global-extend 4411}#
+                  #{e 12389}#)))))))
+    (#{global-extend 4408}#
       'core
       'with-fluids
-      (lambda (#{e 13129}#
-               #{r 13130}#
-               #{w 13131}#
-               #{s 13132}#
-               #{mod 13133}#)
-        (let ((#{tmp 13135}#
+      (lambda (#{e 13126}#
+               #{r 13127}#
+               #{w 13128}#
+               #{s 13129}#
+               #{mod 13130}#)
+        (let ((#{tmp 13132}#
                 ($sc-dispatch
-                  #{e 13129}#
+                  #{e 13126}#
                   '(_ #(each (any any)) any . each-any))))
-          (if #{tmp 13135}#
+          (if #{tmp 13132}#
             (@apply
-              (lambda (#{fluid 13139}#
-                       #{val 13140}#
-                       #{b 13141}#
-                       #{b* 13142}#)
-                (#{build-dynlet 4382}#
-                  #{s 13132}#
-                  (map (lambda (#{x 13235}#)
-                         (#{chi 4446}#
-                           #{x 13235}#
-                           #{r 13130}#
-                           #{w 13131}#
-                           #{mod 13133}#))
-                       #{fluid 13139}#)
-                  (map (lambda (#{x 13317}#)
-                         (#{chi 4446}#
-                           #{x 13317}#
-                           #{r 13130}#
-                           #{w 13131}#
-                           #{mod 13133}#))
-                       #{val 13140}#)
-                  (#{chi-body 4450}#
-                    (cons #{b 13141}# #{b* 13142}#)
-                    (let ((#{x 13410}#
+              (lambda (#{fluid 13136}#
+                       #{val 13137}#
+                       #{b 13138}#
+                       #{b* 13139}#)
+                (#{build-dynlet 4379}#
+                  #{s 13129}#
+                  (map (lambda (#{x 13232}#)
+                         (#{expand 4443}#
+                           #{x 13232}#
+                           #{r 13127}#
+                           #{w 13128}#
+                           #{mod 13130}#))
+                       #{fluid 13136}#)
+                  (map (lambda (#{x 13314}#)
+                         (#{expand 4443}#
+                           #{x 13314}#
+                           #{r 13127}#
+                           #{w 13128}#
+                           #{mod 13130}#))
+                       #{val 13137}#)
+                  (#{expand-body 4447}#
+                    (cons #{b 13138}# #{b* 13139}#)
+                    (let ((#{x 13407}#
                             (begin
-                              (if (if (pair? #{e 13129}#) #{s 13132}# #f)
+                              (if (if (pair? #{e 13126}#) #{s 13129}# #f)
                                 (set-source-properties!
-                                  #{e 13129}#
-                                  #{s 13132}#))
-                              #{e 13129}#)))
-                      (if (if (null? (car #{w 13131}#))
-                            (null? (cdr #{w 13131}#))
+                                  #{e 13126}#
+                                  #{s 13129}#))
+                              #{e 13126}#)))
+                      (if (if (null? (car #{w 13128}#))
+                            (null? (cdr #{w 13128}#))
                             #f)
-                        #{x 13410}#
-                        (if (if (vector? #{x 13410}#)
-                              (if (= (vector-length #{x 13410}#) 4)
-                                (eq? (vector-ref #{x 13410}# 0) 'syntax-object)
+                        #{x 13407}#
+                        (if (if (vector? #{x 13407}#)
+                              (if (= (vector-length #{x 13407}#) 4)
+                                (eq? (vector-ref #{x 13407}# 0) 'syntax-object)
                                 #f)
                               #f)
-                          (let ((#{expression 13442}#
-                                  (vector-ref #{x 13410}# 1))
-                                (#{wrap 13443}#
-                                  (let ((#{w2 13451}#
-                                          (vector-ref #{x 13410}# 2)))
-                                    (let ((#{m1 13452}# (car #{w 13131}#))
-                                          (#{s1 13453}# (cdr #{w 13131}#)))
-                                      (if (null? #{m1 13452}#)
-                                        (if (null? #{s1 13453}#)
-                                          #{w2 13451}#
-                                          (cons (car #{w2 13451}#)
-                                                (let ((#{m2 13468}#
-                                                        (cdr #{w2 13451}#)))
-                                                  (if (null? #{m2 13468}#)
-                                                    #{s1 13453}#
+                          (let ((#{expression 13439}#
+                                  (vector-ref #{x 13407}# 1))
+                                (#{wrap 13440}#
+                                  (let ((#{w2 13448}#
+                                          (vector-ref #{x 13407}# 2)))
+                                    (let ((#{m1 13449}# (car #{w 13128}#))
+                                          (#{s1 13450}# (cdr #{w 13128}#)))
+                                      (if (null? #{m1 13449}#)
+                                        (if (null? #{s1 13450}#)
+                                          #{w2 13448}#
+                                          (cons (car #{w2 13448}#)
+                                                (let ((#{m2 13465}#
+                                                        (cdr #{w2 13448}#)))
+                                                  (if (null? #{m2 13465}#)
+                                                    #{s1 13450}#
                                                     (append
-                                                      #{s1 13453}#
-                                                      #{m2 13468}#)))))
-                                        (cons (let ((#{m2 13476}#
-                                                      (car #{w2 13451}#)))
-                                                (if (null? #{m2 13476}#)
-                                                  #{m1 13452}#
+                                                      #{s1 13450}#
+                                                      #{m2 13465}#)))))
+                                        (cons (let ((#{m2 13473}#
+                                                      (car #{w2 13448}#)))
+                                                (if (null? #{m2 13473}#)
+                                                  #{m1 13449}#
                                                   (append
-                                                    #{m1 13452}#
-                                                    #{m2 13476}#)))
-                                              (let ((#{m2 13484}#
-                                                      (cdr #{w2 13451}#)))
-                                                (if (null? #{m2 13484}#)
-                                                  #{s1 13453}#
+                                                    #{m1 13449}#
+                                                    #{m2 13473}#)))
+                                              (let ((#{m2 13481}#
+                                                      (cdr #{w2 13448}#)))
+                                                (if (null? #{m2 13481}#)
+                                                  #{s1 13450}#
                                                   (append
-                                                    #{s1 13453}#
-                                                    #{m2 13484}#))))))))
-                                (#{module 13444}# (vector-ref #{x 13410}# 3)))
+                                                    #{s1 13450}#
+                                                    #{m2 13481}#))))))))
+                                (#{module 13441}# (vector-ref #{x 13407}# 3)))
                             (vector
                               'syntax-object
-                              #{expression 13442}#
-                              #{wrap 13443}#
-                              #{module 13444}#))
-                          (if (null? #{x 13410}#)
-                            #{x 13410}#
+                              #{expression 13439}#
+                              #{wrap 13440}#
+                              #{module 13441}#))
+                          (if (null? #{x 13407}#)
+                            #{x 13407}#
                             (vector
                               'syntax-object
-                              #{x 13410}#
-                              #{w 13131}#
-                              #{mod 13133}#)))))
-                    #{r 13130}#
-                    #{w 13131}#
-                    #{mod 13133}#)))
-              #{tmp 13135}#)
+                              #{x 13407}#
+                              #{w 13128}#
+                              #{mod 13130}#)))))
+                    #{r 13127}#
+                    #{w 13128}#
+                    #{mod 13130}#)))
+              #{tmp 13132}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{e 13129}#)))))
+              #{e 13126}#)))))
     (module-define!
       (current-module)
       'begin
@@ -12858,68 +12794,68 @@
         'eval-when
         'eval-when
         '()))
-    (#{global-extend 4411}#
+    (#{global-extend 4408}#
       'core
       'syntax-case
       (letrec*
-        ((#{convert-pattern 13788}#
-           (lambda (#{pattern 15444}# #{keys 15445}#)
+        ((#{convert-pattern 13785}#
+           (lambda (#{pattern 15441}# #{keys 15442}#)
              (letrec*
-               ((#{cvt* 15446}#
-                  (lambda (#{p* 16245}# #{n 16246}# #{ids 16247}#)
-                    (if (not (pair? #{p* 16245}#))
-                      (#{cvt 15448}#
-                        #{p* 16245}#
-                        #{n 16246}#
-                        #{ids 16247}#)
+               ((#{cvt* 15443}#
+                  (lambda (#{p* 16242}# #{n 16243}# #{ids 16244}#)
+                    (if (not (pair? #{p* 16242}#))
+                      (#{cvt 15445}#
+                        #{p* 16242}#
+                        #{n 16243}#
+                        #{ids 16244}#)
                       (call-with-values
                         (lambda ()
-                          (#{cvt* 15446}#
-                            (cdr #{p* 16245}#)
-                            #{n 16246}#
-                            #{ids 16247}#))
-                        (lambda (#{y 16250}# #{ids 16251}#)
+                          (#{cvt* 15443}#
+                            (cdr #{p* 16242}#)
+                            #{n 16243}#
+                            #{ids 16244}#))
+                        (lambda (#{y 16247}# #{ids 16248}#)
                           (call-with-values
                             (lambda ()
-                              (#{cvt 15448}#
-                                (car #{p* 16245}#)
-                                #{n 16246}#
-                                #{ids 16251}#))
-                            (lambda (#{x 16254}# #{ids 16255}#)
+                              (#{cvt 15445}#
+                                (car #{p* 16242}#)
+                                #{n 16243}#
+                                #{ids 16248}#))
+                            (lambda (#{x 16251}# #{ids 16252}#)
                               (values
-                                (cons #{x 16254}# #{y 16250}#)
-                                #{ids 16255}#))))))))
-                (#{v-reverse 15447}#
-                  (lambda (#{x 16256}#)
+                                (cons #{x 16251}# #{y 16247}#)
+                                #{ids 16252}#))))))))
+                (#{v-reverse 15444}#
+                  (lambda (#{x 16253}#)
                     (letrec*
-                      ((#{loop 16257}#
-                         (lambda (#{r 16358}# #{x 16359}#)
-                           (if (not (pair? #{x 16359}#))
-                             (values #{r 16358}# #{x 16359}#)
-                             (#{loop 16257}#
-                               (cons (car #{x 16359}#) #{r 16358}#)
-                               (cdr #{x 16359}#))))))
-                      (#{loop 16257}# '() #{x 16256}#))))
-                (#{cvt 15448}#
-                  (lambda (#{p 15451}# #{n 15452}# #{ids 15453}#)
-                    (if (if (symbol? #{p 15451}#)
+                      ((#{loop 16254}#
+                         (lambda (#{r 16355}# #{x 16356}#)
+                           (if (not (pair? #{x 16356}#))
+                             (values #{r 16355}# #{x 16356}#)
+                             (#{loop 16254}#
+                               (cons (car #{x 16356}#) #{r 16355}#)
+                               (cdr #{x 16356}#))))))
+                      (#{loop 16254}# '() #{x 16253}#))))
+                (#{cvt 15445}#
+                  (lambda (#{p 15448}# #{n 15449}# #{ids 15450}#)
+                    (if (if (symbol? #{p 15448}#)
                           #t
-                          (if (if (vector? #{p 15451}#)
-                                (if (= (vector-length #{p 15451}#) 4)
-                                  (eq? (vector-ref #{p 15451}# 0)
+                          (if (if (vector? #{p 15448}#)
+                                (if (= (vector-length #{p 15448}#) 4)
+                                  (eq? (vector-ref #{p 15448}# 0)
                                        'syntax-object)
                                   #f)
                                 #f)
-                            (symbol? (vector-ref #{p 15451}# 1))
+                            (symbol? (vector-ref #{p 15448}# 1))
                             #f))
-                      (if (#{bound-id-member? 4438}#
-                            #{p 15451}#
-                            #{keys 15445}#)
+                      (if (#{bound-id-member? 4435}#
+                            #{p 15448}#
+                            #{keys 15442}#)
                         (values
-                          (vector 'free-id #{p 15451}#)
-                          #{ids 15453}#)
-                        (if (#{free-id=? 4434}#
-                              #{p 15451}#
+                          (vector 'free-id #{p 15448}#)
+                          #{ids 15450}#)
+                        (if (#{free-id=? 4431}#
+                              #{p 15448}#
                               '#(syntax-object
                                  _
                                  ((top)
@@ -12927,44 +12863,44 @@
                                   #(ribcage
                                     #(p n ids)
                                     #((top) (top) (top))
-                                    #("i3850" "i3851" "i3852"))
+                                    #("i3847" "i3848" "i3849"))
                                   #(ribcage
                                     (cvt v-reverse cvt*)
                                     ((top) (top) (top))
-                                    ("i3823" "i3821" "i3819"))
+                                    ("i3820" "i3818" "i3816"))
                                   #(ribcage
                                     #(pattern keys)
                                     #((top) (top))
-                                    #("i3817" "i3818"))
+                                    #("i3814" "i3815"))
                                   #(ribcage
                                     (gen-syntax-case
                                       gen-clause
                                       build-dispatch-call
                                       convert-pattern)
                                     ((top) (top) (top) (top))
-                                    ("i3813" "i3811" "i3809" "i3807"))
+                                    ("i3810" "i3808" "i3806" "i3804"))
                                   #(ribcage
                                     (lambda-var-list
                                       gen-var
                                       strip
-                                      chi-lambda-case
+                                      expand-lambda-case
                                       lambda*-formals
-                                      chi-simple-lambda
+                                      expand-simple-lambda
                                       lambda-formals
                                       ellipsis?
-                                      chi-void
+                                      expand-void
                                       eval-local-transformer
-                                      chi-local-syntax
-                                      chi-body
-                                      chi-macro
-                                      chi-call
-                                      chi-expr
-                                      chi
+                                      expand-local-syntax
+                                      expand-body
+                                      expand-macro
+                                      expand-call
+                                      expand-expr
+                                      expand
                                       syntax-type
-                                      chi-when-list
-                                      chi-install-global
-                                      chi-top-sequence
-                                      chi-sequence
+                                      parse-when-list
+                                      expand-install-global
+                                      expand-top-sequence
+                                      expand-sequence
                                       source-wrap
                                       wrap
                                       bound-id-member?
@@ -13366,58 +13302,58 @@
                                     ("i46" "i45" "i44"))
                                   #(ribcage () () ()))
                                  (hygiene guile)))
-                          (values '_ #{ids 15453}#)
+                          (values '_ #{ids 15450}#)
                           (values
                             'any
-                            (cons (cons #{p 15451}# #{n 15452}#)
-                                  #{ids 15453}#))))
-                      (let ((#{tmp 15585}#
-                              ($sc-dispatch #{p 15451}# '(any any))))
-                        (if (if #{tmp 15585}#
+                            (cons (cons #{p 15448}# #{n 15449}#)
+                                  #{ids 15450}#))))
+                      (let ((#{tmp 15582}#
+                              ($sc-dispatch #{p 15448}# '(any any))))
+                        (if (if #{tmp 15582}#
                               (@apply
-                                (lambda (#{x 15589}# #{dots 15590}#)
-                                  (if (if (if (vector? #{dots 15590}#)
+                                (lambda (#{x 15586}# #{dots 15587}#)
+                                  (if (if (if (vector? #{dots 15587}#)
                                             (if (= (vector-length
-                                                     #{dots 15590}#)
+                                                     #{dots 15587}#)
                                                    4)
                                               (eq? (vector-ref
-                                                     #{dots 15590}#
+                                                     #{dots 15587}#
                                                      0)
                                                    'syntax-object)
                                               #f)
                                             #f)
-                                        (symbol? (vector-ref #{dots 15590}# 1))
+                                        (symbol? (vector-ref #{dots 15587}# 1))
                                         #f)
-                                    (#{free-id=? 4434}#
-                                      #{dots 15590}#
+                                    (#{free-id=? 4431}#
+                                      #{dots 15587}#
                                       '#(syntax-object
                                          ...
                                          ((top)
                                           #(ribcage () () ())
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i2341"))
+                                          #(ribcage #(x) #((top)) #("i2338"))
                                           #(ribcage
                                             (lambda-var-list
                                               gen-var
                                               strip
-                                              chi-lambda-case
+                                              expand-lambda-case
                                               lambda*-formals
-                                              chi-simple-lambda
+                                              expand-simple-lambda
                                               lambda-formals
                                               ellipsis?
-                                              chi-void
+                                              expand-void
                                               eval-local-transformer
-                                              chi-local-syntax
-                                              chi-body
-                                              chi-macro
-                                              chi-call
-                                              chi-expr
-                                              chi
+                                              expand-local-syntax
+                                              expand-body
+                                              expand-macro
+                                              expand-call
+                                              expand-expr
+                                              expand
                                               syntax-type
-                                              chi-when-list
-                                              chi-install-global
-                                              chi-top-sequence
-                                              chi-sequence
+                                              parse-when-list
+                                              expand-install-global
+                                              expand-top-sequence
+                                              expand-sequence
                                               source-wrap
                                               wrap
                                               bound-id-member?
@@ -13820,45 +13756,45 @@
                                           #(ribcage () () ()))
                                          (hygiene guile)))
                                     #f))
-                                #{tmp 15585}#)
+                                #{tmp 15582}#)
                               #f)
                           (@apply
-                            (lambda (#{x 15629}# #{dots 15630}#)
+                            (lambda (#{x 15626}# #{dots 15627}#)
                               (call-with-values
                                 (lambda ()
-                                  (#{cvt 15448}#
-                                    #{x 15629}#
-                                    (#{1+}# #{n 15452}#)
-                                    #{ids 15453}#))
-                                (lambda (#{p 15631}# #{ids 15632}#)
+                                  (#{cvt 15445}#
+                                    #{x 15626}#
+                                    (#{1+}# #{n 15449}#)
+                                    #{ids 15450}#))
+                                (lambda (#{p 15628}# #{ids 15629}#)
                                   (values
-                                    (if (eq? #{p 15631}# 'any)
+                                    (if (eq? #{p 15628}# 'any)
                                       'each-any
-                                      (vector 'each #{p 15631}#))
-                                    #{ids 15632}#))))
-                            #{tmp 15585}#)
-                          (let ((#{tmp 15633}#
-                                  ($sc-dispatch #{p 15451}# '(any any . any))))
-                            (if (if #{tmp 15633}#
+                                      (vector 'each #{p 15628}#))
+                                    #{ids 15629}#))))
+                            #{tmp 15582}#)
+                          (let ((#{tmp 15630}#
+                                  ($sc-dispatch #{p 15448}# '(any any . any))))
+                            (if (if #{tmp 15630}#
                                   (@apply
-                                    (lambda (#{x 15637}#
-                                             #{dots 15638}#
-                                             #{ys 15639}#)
-                                      (if (if (if (vector? #{dots 15638}#)
+                                    (lambda (#{x 15634}#
+                                             #{dots 15635}#
+                                             #{ys 15636}#)
+                                      (if (if (if (vector? #{dots 15635}#)
                                                 (if (= (vector-length
-                                                         #{dots 15638}#)
+                                                         #{dots 15635}#)
                                                        4)
                                                   (eq? (vector-ref
-                                                         #{dots 15638}#
+                                                         #{dots 15635}#
                                                          0)
                                                        'syntax-object)
                                                   #f)
                                                 #f)
                                             (symbol?
-                                              (vector-ref #{dots 15638}# 1))
+                                              (vector-ref #{dots 15635}# 1))
                                             #f)
-                                        (#{free-id=? 4434}#
-                                          #{dots 15638}#
+                                        (#{free-id=? 4431}#
+                                          #{dots 15635}#
                                           '#(syntax-object
                                              ...
                                              ((top)
@@ -13867,29 +13803,29 @@
                                               #(ribcage
                                                 #(x)
                                                 #((top))
-                                                #("i2341"))
+                                                #("i2338"))
                                               #(ribcage
                                                 (lambda-var-list
                                                   gen-var
                                                   strip
-                                                  chi-lambda-case
+                                                  expand-lambda-case
                                                   lambda*-formals
-                                                  chi-simple-lambda
+                                                  expand-simple-lambda
                                                   lambda-formals
                                                   ellipsis?
-                                                  chi-void
+                                                  expand-void
                                                   eval-local-transformer
-                                                  chi-local-syntax
-                                                  chi-body
-                                                  chi-macro
-                                                  chi-call
-                                                  chi-expr
-                                                  chi
+                                                  expand-local-syntax
+                                                  expand-body
+                                                  expand-macro
+                                                  expand-call
+                                                  expand-expr
+                                                  expand
                                                   syntax-type
-                                                  chi-when-list
-                                                  chi-install-global
-                                                  chi-top-sequence
-                                                  chi-sequence
+                                                  parse-when-list
+                                                  expand-install-global
+                                                  expand-top-sequence
+                                                  expand-sequence
                                                   source-wrap
                                                   wrap
                                                   bound-id-member?
@@ -14292,175 +14228,175 @@
                                               #(ribcage () () ()))
                                              (hygiene guile)))
                                         #f))
-                                    #{tmp 15633}#)
+                                    #{tmp 15630}#)
                                   #f)
                               (@apply
-                                (lambda (#{x 15678}#
-                                         #{dots 15679}#
-                                         #{ys 15680}#)
+                                (lambda (#{x 15675}#
+                                         #{dots 15676}#
+                                         #{ys 15677}#)
                                   (call-with-values
                                     (lambda ()
-                                      (#{cvt* 15446}#
-                                        #{ys 15680}#
-                                        #{n 15452}#
-                                        #{ids 15453}#))
-                                    (lambda (#{ys 16165}# #{ids 16166}#)
+                                      (#{cvt* 15443}#
+                                        #{ys 15677}#
+                                        #{n 15449}#
+                                        #{ids 15450}#))
+                                    (lambda (#{ys 16162}# #{ids 16163}#)
                                       (call-with-values
                                         (lambda ()
-                                          (#{cvt 15448}#
-                                            #{x 15678}#
-                                            (#{1+}# #{n 15452}#)
-                                            #{ids 16166}#))
-                                        (lambda (#{x 16167}# #{ids 16168}#)
+                                          (#{cvt 15445}#
+                                            #{x 15675}#
+                                            (#{1+}# #{n 15449}#)
+                                            #{ids 16163}#))
+                                        (lambda (#{x 16164}# #{ids 16165}#)
                                           (call-with-values
                                             (lambda ()
-                                              (#{v-reverse 15447}#
-                                                #{ys 16165}#))
-                                            (lambda (#{ys 16204}# #{e 16205}#)
+                                              (#{v-reverse 15444}#
+                                                #{ys 16162}#))
+                                            (lambda (#{ys 16201}# #{e 16202}#)
                                               (values
                                                 (vector
                                                   'each+
-                                                  #{x 16167}#
-                                                  #{ys 16204}#
-                                                  #{e 16205}#)
-                                                #{ids 16168}#))))))))
-                                #{tmp 15633}#)
-                              (let ((#{tmp 16206}#
-                                      ($sc-dispatch #{p 15451}# '(any . any))))
-                                (if #{tmp 16206}#
+                                                  #{x 16164}#
+                                                  #{ys 16201}#
+                                                  #{e 16202}#)
+                                                #{ids 16165}#))))))))
+                                #{tmp 15630}#)
+                              (let ((#{tmp 16203}#
+                                      ($sc-dispatch #{p 15448}# '(any . any))))
+                                (if #{tmp 16203}#
                                   (@apply
-                                    (lambda (#{x 16210}# #{y 16211}#)
+                                    (lambda (#{x 16207}# #{y 16208}#)
                                       (call-with-values
                                         (lambda ()
-                                          (#{cvt 15448}#
-                                            #{y 16211}#
-                                            #{n 15452}#
-                                            #{ids 15453}#))
-                                        (lambda (#{y 16212}# #{ids 16213}#)
+                                          (#{cvt 15445}#
+                                            #{y 16208}#
+                                            #{n 15449}#
+                                            #{ids 15450}#))
+                                        (lambda (#{y 16209}# #{ids 16210}#)
                                           (call-with-values
                                             (lambda ()
-                                              (#{cvt 15448}#
-                                                #{x 16210}#
-                                                #{n 15452}#
-                                                #{ids 16213}#))
-                                            (lambda (#{x 16214}# #{ids 16215}#)
+                                              (#{cvt 15445}#
+                                                #{x 16207}#
+                                                #{n 15449}#
+                                                #{ids 16210}#))
+                                            (lambda (#{x 16211}# #{ids 16212}#)
                                               (values
-                                                (cons #{x 16214}# #{y 16212}#)
-                                                #{ids 16215}#))))))
-                                    #{tmp 16206}#)
-                                  (let ((#{tmp 16216}#
-                                          ($sc-dispatch #{p 15451}# '())))
-                                    (if #{tmp 16216}#
+                                                (cons #{x 16211}# #{y 16209}#)
+                                                #{ids 16212}#))))))
+                                    #{tmp 16203}#)
+                                  (let ((#{tmp 16213}#
+                                          ($sc-dispatch #{p 15448}# '())))
+                                    (if #{tmp 16213}#
                                       (@apply
-                                        (lambda () (values '() #{ids 15453}#))
-                                        #{tmp 16216}#)
-                                      (let ((#{tmp 16220}#
+                                        (lambda () (values '() #{ids 15450}#))
+                                        #{tmp 16213}#)
+                                      (let ((#{tmp 16217}#
                                               ($sc-dispatch
-                                                #{p 15451}#
+                                                #{p 15448}#
                                                 '#(vector each-any))))
-                                        (if #{tmp 16220}#
+                                        (if #{tmp 16217}#
                                           (@apply
-                                            (lambda (#{x 16224}#)
+                                            (lambda (#{x 16221}#)
                                               (call-with-values
                                                 (lambda ()
-                                                  (#{cvt 15448}#
-                                                    #{x 16224}#
-                                                    #{n 15452}#
-                                                    #{ids 15453}#))
-                                                (lambda (#{p 16225}#
-                                                         #{ids 16226}#)
+                                                  (#{cvt 15445}#
+                                                    #{x 16221}#
+                                                    #{n 15449}#
+                                                    #{ids 15450}#))
+                                                (lambda (#{p 16222}#
+                                                         #{ids 16223}#)
                                                   (values
                                                     (vector
                                                       'vector
-                                                      #{p 16225}#)
-                                                    #{ids 16226}#))))
-                                            #{tmp 16220}#)
+                                                      #{p 16222}#)
+                                                    #{ids 16223}#))))
+                                            #{tmp 16217}#)
                                           (values
                                             (vector
                                               'atom
-                                              (#{strip 4459}#
-                                                #{p 15451}#
+                                              (#{strip 4456}#
+                                                #{p 15448}#
                                                 '(())))
-                                            #{ids 15453}#)))))))))))))))
-               (#{cvt 15448}# #{pattern 15444}# 0 '()))))
-         (#{build-dispatch-call 13789}#
-           (lambda (#{pvars 16360}#
-                    #{exp 16361}#
-                    #{y 16362}#
-                    #{r 16363}#
-                    #{mod 16364}#)
-             (let ((#{ids 16365}# (map car #{pvars 16360}#)))
+                                            #{ids 15450}#)))))))))))))))
+               (#{cvt 15445}# #{pattern 15441}# 0 '()))))
+         (#{build-dispatch-call 13786}#
+           (lambda (#{pvars 16357}#
+                    #{exp 16358}#
+                    #{y 16359}#
+                    #{r 16360}#
+                    #{mod 16361}#)
+             (let ((#{ids 16362}# (map car #{pvars 16357}#)))
                (begin
-                 (map cdr #{pvars 16360}#)
-                 (let ((#{labels 16367}#
-                         (#{gen-labels 4416}# #{ids 16365}#))
-                       (#{new-vars 16368}#
-                         (map #{gen-var 4460}# #{ids 16365}#)))
-                   (#{build-primcall 4392}#
+                 (map cdr #{pvars 16357}#)
+                 (let ((#{labels 16364}#
+                         (#{gen-labels 4413}# #{ids 16362}#))
+                       (#{new-vars 16365}#
+                         (map #{gen-var 4457}# #{ids 16362}#)))
+                   (#{build-primcall 4389}#
                      #f
                      'apply
-                     (list (#{build-simple-lambda 4389}#
+                     (list (#{build-simple-lambda 4386}#
                              #f
-                             (map syntax->datum #{ids 16365}#)
+                             (map syntax->datum #{ids 16362}#)
                              #f
-                             #{new-vars 16368}#
+                             #{new-vars 16365}#
                              '()
-                             (#{chi 4446}#
-                               #{exp 16361}#
-                               (#{extend-env 4408}#
-                                 #{labels 16367}#
-                                 (map (lambda (#{var 16700}# #{level 16701}#)
+                             (#{expand 4443}#
+                               #{exp 16358}#
+                               (#{extend-env 4405}#
+                                 #{labels 16364}#
+                                 (map (lambda (#{var 16697}# #{level 16698}#)
                                         (cons 'syntax
-                                              (cons #{var 16700}#
-                                                    #{level 16701}#)))
-                                      #{new-vars 16368}#
-                                      (map cdr #{pvars 16360}#))
-                                 #{r 16363}#)
-                               (#{make-binding-wrap 4427}#
-                                 #{ids 16365}#
-                                 #{labels 16367}#
+                                              (cons #{var 16697}#
+                                                    #{level 16698}#)))
+                                      #{new-vars 16365}#
+                                      (map cdr #{pvars 16357}#))
+                                 #{r 16360}#)
+                               (#{make-binding-wrap 4424}#
+                                 #{ids 16362}#
+                                 #{labels 16364}#
                                  '(()))
-                               #{mod 16364}#))
-                           #{y 16362}#)))))))
-         (#{gen-clause 13790}#
-           (lambda (#{x 15038}#
-                    #{keys 15039}#
-                    #{clauses 15040}#
-                    #{r 15041}#
-                    #{pat 15042}#
-                    #{fender 15043}#
-                    #{exp 15044}#
-                    #{mod 15045}#)
+                               #{mod 16361}#))
+                           #{y 16359}#)))))))
+         (#{gen-clause 13787}#
+           (lambda (#{x 15035}#
+                    #{keys 15036}#
+                    #{clauses 15037}#
+                    #{r 15038}#
+                    #{pat 15039}#
+                    #{fender 15040}#
+                    #{exp 15041}#
+                    #{mod 15042}#)
              (call-with-values
                (lambda ()
-                 (#{convert-pattern 13788}#
-                   #{pat 15042}#
-                   #{keys 15039}#))
-               (lambda (#{p 15183}# #{pvars 15184}#)
-                 (if (not (#{distinct-bound-ids? 4437}#
-                            (map car #{pvars 15184}#)))
+                 (#{convert-pattern 13785}#
+                   #{pat 15039}#
+                   #{keys 15036}#))
+               (lambda (#{p 15180}# #{pvars 15181}#)
+                 (if (not (#{distinct-bound-ids? 4434}#
+                            (map car #{pvars 15181}#)))
                    (syntax-violation
                      'syntax-case
                      "duplicate pattern variable"
-                     #{pat 15042}#)
+                     #{pat 15039}#)
                    (if (not (and-map
-                              (lambda (#{x 15293}#)
-                                (not (let ((#{x 15297}# (car #{x 15293}#)))
-                                       (if (if (if (vector? #{x 15297}#)
+                              (lambda (#{x 15290}#)
+                                (not (let ((#{x 15294}# (car #{x 15290}#)))
+                                       (if (if (if (vector? #{x 15294}#)
                                                  (if (= (vector-length
-                                                          #{x 15297}#)
+                                                          #{x 15294}#)
                                                         4)
                                                    (eq? (vector-ref
-                                                          #{x 15297}#
+                                                          #{x 15294}#
                                                           0)
                                                         'syntax-object)
                                                    #f)
                                                  #f)
                                              (symbol?
-                                               (vector-ref #{x 15297}# 1))
+                                               (vector-ref #{x 15294}# 1))
                                              #f)
-                                         (#{free-id=? 4434}#
-                                           #{x 15297}#
+                                         (#{free-id=? 4431}#
+                                           #{x 15294}#
                                            '#(syntax-object
                                               ...
                                               ((top)
@@ -14469,29 +14405,29 @@
                                                #(ribcage
                                                  #(x)
                                                  #((top))
-                                                 #("i2341"))
+                                                 #("i2338"))
                                                #(ribcage
                                                  (lambda-var-list
                                                    gen-var
                                                    strip
-                                                   chi-lambda-case
+                                                   expand-lambda-case
                                                    lambda*-formals
-                                                   chi-simple-lambda
+                                                   expand-simple-lambda
                                                    lambda-formals
                                                    ellipsis?
-                                                   chi-void
+                                                   expand-void
                                                    eval-local-transformer
-                                                   chi-local-syntax
-                                                   chi-body
-                                                   chi-macro
-                                                   chi-call
-                                                   chi-expr
-                                                   chi
+                                                   expand-local-syntax
+                                                   expand-body
+                                                   expand-macro
+                                                   expand-call
+                                                   expand-expr
+                                                   expand
                                                    syntax-type
-                                                   chi-when-list
-                                                   chi-install-global
-                                                   chi-top-sequence
-                                                   chi-sequence
+                                                   parse-when-list
+                                                   expand-install-global
+                                                   expand-top-sequence
+                                                   expand-sequence
                                                    source-wrap
                                                    wrap
                                                    bound-id-member?
@@ -14894,43 +14830,43 @@
                                                #(ribcage () () ()))
                                               (hygiene guile)))
                                          #f))))
-                              #{pvars 15184}#))
+                              #{pvars 15181}#))
                      (syntax-violation
                        'syntax-case
                        "misplaced ellipsis"
-                       #{pat 15042}#)
-                     (let ((#{y 15322}#
+                       #{pat 15039}#)
+                     (let ((#{y 15319}#
                              (gensym
                                (string-append (symbol->string 'tmp) " "))))
-                       (let ((#{fun-exp 15327}#
-                               (let ((#{req 15336}# (list 'tmp))
-                                     (#{vars 15338}# (list #{y 15322}#))
-                                     (#{exp 15340}#
-                                       (let ((#{y 15369}#
+                       (let ((#{fun-exp 15324}#
+                               (let ((#{req 15333}# (list 'tmp))
+                                     (#{vars 15335}# (list #{y 15319}#))
+                                     (#{exp 15337}#
+                                       (let ((#{y 15366}#
                                                (make-struct/no-tail
                                                  (vector-ref
                                                    %expanded-vtables
                                                    3)
                                                  #f
                                                  'tmp
-                                                 #{y 15322}#)))
-                                         (let ((#{test-exp 15373}#
-                                                 (let ((#{tmp 15382}#
+                                                 #{y 15319}#)))
+                                         (let ((#{test-exp 15370}#
+                                                 (let ((#{tmp 15379}#
                                                          ($sc-dispatch
-                                                           #{fender 15043}#
+                                                           #{fender 15040}#
                                                            '#(atom #t))))
-                                                   (if #{tmp 15382}#
+                                                   (if #{tmp 15379}#
                                                      (@apply
-                                                       (lambda () #{y 15369}#)
-                                                       #{tmp 15382}#)
-                                                     (let ((#{then-exp 15400}#
-                                                             
(#{build-dispatch-call 13789}#
-                                                               #{pvars 15184}#
-                                                               #{fender 15043}#
-                                                               #{y 15369}#
-                                                               #{r 15041}#
-                                                               #{mod 15045}#))
-                                                           (#{else-exp 15401}#
+                                                       (lambda () #{y 15366}#)
+                                                       #{tmp 15379}#)
+                                                     (let ((#{then-exp 15397}#
+                                                             
(#{build-dispatch-call 13786}#
+                                                               #{pvars 15181}#
+                                                               #{fender 15040}#
+                                                               #{y 15366}#
+                                                               #{r 15038}#
+                                                               #{mod 15042}#))
+                                                           (#{else-exp 15398}#
                                                              
(make-struct/no-tail
                                                                (vector-ref
                                                                  
%expanded-vtables
@@ -14942,81 +14878,81 @@
                                                            %expanded-vtables
                                                            10)
                                                          #f
-                                                         #{y 15369}#
-                                                         #{then-exp 15400}#
-                                                         #{else-exp 
15401}#)))))
-                                               (#{then-exp 15374}#
-                                                 (#{build-dispatch-call 13789}#
-                                                   #{pvars 15184}#
-                                                   #{exp 15044}#
-                                                   #{y 15369}#
-                                                   #{r 15041}#
-                                                   #{mod 15045}#))
-                                               (#{else-exp 15375}#
-                                                 (#{gen-syntax-case 13791}#
-                                                   #{x 15038}#
-                                                   #{keys 15039}#
-                                                   #{clauses 15040}#
-                                                   #{r 15041}#
-                                                   #{mod 15045}#)))
+                                                         #{y 15366}#
+                                                         #{then-exp 15397}#
+                                                         #{else-exp 
15398}#)))))
+                                               (#{then-exp 15371}#
+                                                 (#{build-dispatch-call 13786}#
+                                                   #{pvars 15181}#
+                                                   #{exp 15041}#
+                                                   #{y 15366}#
+                                                   #{r 15038}#
+                                                   #{mod 15042}#))
+                                               (#{else-exp 15372}#
+                                                 (#{gen-syntax-case 13788}#
+                                                   #{x 15035}#
+                                                   #{keys 15036}#
+                                                   #{clauses 15037}#
+                                                   #{r 15038}#
+                                                   #{mod 15042}#)))
                                            (make-struct/no-tail
                                              (vector-ref %expanded-vtables 10)
                                              #f
-                                             #{test-exp 15373}#
-                                             #{then-exp 15374}#
-                                             #{else-exp 15375}#)))))
-                                 (let ((#{body 15345}#
+                                             #{test-exp 15370}#
+                                             #{then-exp 15371}#
+                                             #{else-exp 15372}#)))))
+                                 (let ((#{body 15342}#
                                          (make-struct/no-tail
                                            (vector-ref %expanded-vtables 15)
                                            #f
-                                           #{req 15336}#
+                                           #{req 15333}#
                                            #f
                                            #f
                                            #f
                                            '()
-                                           #{vars 15338}#
-                                           #{exp 15340}#
+                                           #{vars 15335}#
+                                           #{exp 15337}#
                                            #f)))
                                    (make-struct/no-tail
                                      (vector-ref %expanded-vtables 14)
                                      #f
                                      '()
-                                     #{body 15345}#))))
-                             (#{arg-exps 15328}#
-                               (list (if (eq? #{p 15183}# 'any)
-                                       (let ((#{args 15423}#
-                                               (list #{x 15038}#)))
+                                     #{body 15342}#))))
+                             (#{arg-exps 15325}#
+                               (list (if (eq? #{p 15180}# 'any)
+                                       (let ((#{args 15420}#
+                                               (list #{x 15035}#)))
                                          (make-struct/no-tail
                                            (vector-ref %expanded-vtables 12)
                                            #f
                                            'list
-                                           #{args 15423}#))
-                                       (let ((#{args 15432}#
-                                               (list #{x 15038}#
+                                           #{args 15420}#))
+                                       (let ((#{args 15429}#
+                                               (list #{x 15035}#
                                                      (make-struct/no-tail
                                                        (vector-ref
                                                          %expanded-vtables
                                                          1)
                                                        #f
-                                                       #{p 15183}#))))
+                                                       #{p 15180}#))))
                                          (make-struct/no-tail
                                            (vector-ref %expanded-vtables 12)
                                            #f
                                            '$sc-dispatch
-                                           #{args 15432}#))))))
+                                           #{args 15429}#))))))
                          (make-struct/no-tail
                            (vector-ref %expanded-vtables 11)
                            #f
-                           #{fun-exp 15327}#
-                           #{arg-exps 15328}#)))))))))
-         (#{gen-syntax-case 13791}#
-           (lambda (#{x 14535}#
-                    #{keys 14536}#
-                    #{clauses 14537}#
-                    #{r 14538}#
-                    #{mod 14539}#)
-             (if (null? #{clauses 14537}#)
-               (let ((#{args 14545}#
+                           #{fun-exp 15324}#
+                           #{arg-exps 15325}#)))))))))
+         (#{gen-syntax-case 13788}#
+           (lambda (#{x 14532}#
+                    #{keys 14533}#
+                    #{clauses 14534}#
+                    #{r 14535}#
+                    #{mod 14536}#)
+             (if (null? #{clauses 14534}#)
+               (let ((#{args 14542}#
                        (list (make-struct/no-tail
                                (vector-ref %expanded-vtables 1)
                                #f
@@ -15025,79 +14961,79 @@
                                (vector-ref %expanded-vtables 1)
                                #f
                                "source expression failed to match any pattern")
-                             #{x 14535}#)))
+                             #{x 14532}#)))
                  (make-struct/no-tail
                    (vector-ref %expanded-vtables 12)
                    #f
                    'syntax-violation
-                   #{args 14545}#))
-               (let ((#{tmp 14564}# (car #{clauses 14537}#)))
-                 (let ((#{tmp 14565}#
-                         ($sc-dispatch #{tmp 14564}# '(any any))))
-                   (if #{tmp 14565}#
+                   #{args 14542}#))
+               (let ((#{tmp 14561}# (car #{clauses 14534}#)))
+                 (let ((#{tmp 14562}#
+                         ($sc-dispatch #{tmp 14561}# '(any any))))
+                   (if #{tmp 14562}#
                      (@apply
-                       (lambda (#{pat 14567}# #{exp 14568}#)
-                         (if (if (if (symbol? #{pat 14567}#)
+                       (lambda (#{pat 14564}# #{exp 14565}#)
+                         (if (if (if (symbol? #{pat 14564}#)
                                    #t
-                                   (if (if (vector? #{pat 14567}#)
-                                         (if (= (vector-length #{pat 14567}#)
+                                   (if (if (vector? #{pat 14564}#)
+                                         (if (= (vector-length #{pat 14564}#)
                                                 4)
-                                           (eq? (vector-ref #{pat 14567}# 0)
+                                           (eq? (vector-ref #{pat 14564}# 0)
                                                 'syntax-object)
                                            #f)
                                          #f)
-                                     (symbol? (vector-ref #{pat 14567}# 1))
+                                     (symbol? (vector-ref #{pat 14564}# 1))
                                      #f))
                                (and-map
-                                 (lambda (#{x 14595}#)
-                                   (not (#{free-id=? 4434}#
-                                          #{pat 14567}#
-                                          #{x 14595}#)))
+                                 (lambda (#{x 14592}#)
+                                   (not (#{free-id=? 4431}#
+                                          #{pat 14564}#
+                                          #{x 14592}#)))
                                  (cons '#(syntax-object
                                           ...
                                           ((top)
                                            #(ribcage
                                              #(pat exp)
                                              #((top) (top))
-                                             #("i4010" "i4011"))
+                                             #("i4007" "i4008"))
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(x keys clauses r mod)
                                              #((top) (top) (top) (top) (top))
-                                             #("i4000"
-                                               "i4001"
-                                               "i4002"
-                                               "i4003"
-                                               "i4004"))
+                                             #("i3997"
+                                               "i3998"
+                                               "i3999"
+                                               "i4000"
+                                               "i4001"))
                                            #(ribcage
                                              (gen-syntax-case
                                                gen-clause
                                                build-dispatch-call
                                                convert-pattern)
                                              ((top) (top) (top) (top))
-                                             ("i3813" "i3811" "i3809" "i3807"))
+                                             ("i3810" "i3808" "i3806" "i3804"))
                                            #(ribcage
                                              (lambda-var-list
                                                gen-var
                                                strip
-                                               chi-lambda-case
+                                               expand-lambda-case
                                                lambda*-formals
-                                               chi-simple-lambda
+                                               expand-simple-lambda
                                                lambda-formals
                                                ellipsis?
-                                               chi-void
+                                               expand-void
                                                eval-local-transformer
-                                               chi-local-syntax
-                                               chi-body
-                                               chi-macro
-                                               chi-call
-                                               chi-expr
-                                               chi
+                                               expand-local-syntax
+                                               expand-body
+                                               expand-macro
+                                               expand-call
+                                               expand-expr
+                                               expand
                                                syntax-type
-                                               chi-when-list
-                                               chi-install-global
-                                               chi-top-sequence
-                                               chi-sequence
+                                               parse-when-list
+                                               expand-install-global
+                                               expand-top-sequence
+                                               expand-sequence
                                                source-wrap
                                                wrap
                                                bound-id-member?
@@ -15499,54 +15435,54 @@
                                              ("i46" "i45" "i44"))
                                            #(ribcage () () ()))
                                           (hygiene guile))
-                                       #{keys 14536}#))
+                                       #{keys 14533}#))
                                #f)
-                           (if (#{free-id=? 4434}#
+                           (if (#{free-id=? 4431}#
                                  '#(syntax-object
                                     pad
                                     ((top)
                                      #(ribcage
                                        #(pat exp)
                                        #((top) (top))
-                                       #("i4010" "i4011"))
+                                       #("i4007" "i4008"))
                                      #(ribcage () () ())
                                      #(ribcage
                                        #(x keys clauses r mod)
                                        #((top) (top) (top) (top) (top))
-                                       #("i4000"
-                                         "i4001"
-                                         "i4002"
-                                         "i4003"
-                                         "i4004"))
+                                       #("i3997"
+                                         "i3998"
+                                         "i3999"
+                                         "i4000"
+                                         "i4001"))
                                      #(ribcage
                                        (gen-syntax-case
                                          gen-clause
                                          build-dispatch-call
                                          convert-pattern)
                                        ((top) (top) (top) (top))
-                                       ("i3813" "i3811" "i3809" "i3807"))
+                                       ("i3810" "i3808" "i3806" "i3804"))
                                      #(ribcage
                                        (lambda-var-list
                                          gen-var
                                          strip
-                                         chi-lambda-case
+                                         expand-lambda-case
                                          lambda*-formals
-                                         chi-simple-lambda
+                                         expand-simple-lambda
                                          lambda-formals
                                          ellipsis?
-                                         chi-void
+                                         expand-void
                                          eval-local-transformer
-                                         chi-local-syntax
-                                         chi-body
-                                         chi-macro
-                                         chi-call
-                                         chi-expr
-                                         chi
+                                         expand-local-syntax
+                                         expand-body
+                                         expand-macro
+                                         expand-call
+                                         expand-expr
+                                         expand
                                          syntax-type
-                                         chi-when-list
-                                         chi-install-global
-                                         chi-top-sequence
-                                         chi-sequence
+                                         parse-when-list
+                                         expand-install-global
+                                         expand-top-sequence
+                                         expand-sequence
                                          source-wrap
                                          wrap
                                          bound-id-member?
@@ -15954,45 +15890,45 @@
                                      #(ribcage
                                        #(pat exp)
                                        #((top) (top))
-                                       #("i4010" "i4011"))
+                                       #("i4007" "i4008"))
                                      #(ribcage () () ())
                                      #(ribcage
                                        #(x keys clauses r mod)
                                        #((top) (top) (top) (top) (top))
-                                       #("i4000"
-                                         "i4001"
-                                         "i4002"
-                                         "i4003"
-                                         "i4004"))
+                                       #("i3997"
+                                         "i3998"
+                                         "i3999"
+                                         "i4000"
+                                         "i4001"))
                                      #(ribcage
                                        (gen-syntax-case
                                          gen-clause
                                          build-dispatch-call
                                          convert-pattern)
                                        ((top) (top) (top) (top))
-                                       ("i3813" "i3811" "i3809" "i3807"))
+                                       ("i3810" "i3808" "i3806" "i3804"))
                                      #(ribcage
                                        (lambda-var-list
                                          gen-var
                                          strip
-                                         chi-lambda-case
+                                         expand-lambda-case
                                          lambda*-formals
-                                         chi-simple-lambda
+                                         expand-simple-lambda
                                          lambda-formals
                                          ellipsis?
-                                         chi-void
+                                         expand-void
                                          eval-local-transformer
-                                         chi-local-syntax
-                                         chi-body
-                                         chi-macro
-                                         chi-call
-                                         chi-expr
-                                         chi
+                                         expand-local-syntax
+                                         expand-body
+                                         expand-macro
+                                         expand-call
+                                         expand-expr
+                                         expand
                                          syntax-type
-                                         chi-when-list
-                                         chi-install-global
-                                         chi-top-sequence
-                                         chi-sequence
+                                         parse-when-list
+                                         expand-install-global
+                                         expand-top-sequence
+                                         expand-sequence
                                          source-wrap
                                          wrap
                                          bound-id-member?
@@ -16394,181 +16330,181 @@
                                        ("i46" "i45" "i44"))
                                      #(ribcage () () ()))
                                     (hygiene guile)))
-                             (#{chi 4446}#
-                               #{exp 14568}#
-                               #{r 14538}#
+                             (#{expand 4443}#
+                               #{exp 14565}#
+                               #{r 14535}#
                                '(())
-                               #{mod 14539}#)
-                             (let ((#{labels 14681}#
+                               #{mod 14536}#)
+                             (let ((#{labels 14678}#
                                      (list (symbol->string (gensym "i"))))
-                                   (#{var 14682}#
-                                     (let ((#{id 14720}#
-                                             (if (if (vector? #{pat 14567}#)
+                                   (#{var 14679}#
+                                     (let ((#{id 14717}#
+                                             (if (if (vector? #{pat 14564}#)
                                                    (if (= (vector-length
-                                                            #{pat 14567}#)
+                                                            #{pat 14564}#)
                                                           4)
                                                      (eq? (vector-ref
-                                                            #{pat 14567}#
+                                                            #{pat 14564}#
                                                             0)
                                                           'syntax-object)
                                                      #f)
                                                    #f)
-                                               (vector-ref #{pat 14567}# 1)
-                                               #{pat 14567}#)))
+                                               (vector-ref #{pat 14564}# 1)
+                                               #{pat 14564}#)))
                                        (gensym
                                          (string-append
-                                           (symbol->string #{id 14720}#)
+                                           (symbol->string #{id 14717}#)
                                            " ")))))
-                               (#{build-call 4380}#
+                               (#{build-call 4377}#
                                  #f
-                                 (#{build-simple-lambda 4389}#
+                                 (#{build-simple-lambda 4386}#
                                    #f
-                                   (list (syntax->datum #{pat 14567}#))
+                                   (list (syntax->datum #{pat 14564}#))
                                    #f
-                                   (list #{var 14682}#)
+                                   (list #{var 14679}#)
                                    '()
-                                   (#{chi 4446}#
-                                     #{exp 14568}#
-                                     (#{extend-env 4408}#
-                                       #{labels 14681}#
+                                   (#{expand 4443}#
+                                     #{exp 14565}#
+                                     (#{extend-env 4405}#
+                                       #{labels 14678}#
                                        (list (cons 'syntax
-                                                   (cons #{var 14682}# 0)))
-                                       #{r 14538}#)
-                                     (#{make-binding-wrap 4427}#
-                                       (list #{pat 14567}#)
-                                       #{labels 14681}#
+                                                   (cons #{var 14679}# 0)))
+                                       #{r 14535}#)
+                                     (#{make-binding-wrap 4424}#
+                                       (list #{pat 14564}#)
+                                       #{labels 14678}#
                                        '(()))
-                                     #{mod 14539}#))
-                                 (list #{x 14535}#))))
-                           (#{gen-clause 13790}#
-                             #{x 14535}#
-                             #{keys 14536}#
-                             (cdr #{clauses 14537}#)
-                             #{r 14538}#
-                             #{pat 14567}#
+                                     #{mod 14536}#))
+                                 (list #{x 14532}#))))
+                           (#{gen-clause 13787}#
+                             #{x 14532}#
+                             #{keys 14533}#
+                             (cdr #{clauses 14534}#)
+                             #{r 14535}#
+                             #{pat 14564}#
                              #t
-                             #{exp 14568}#
-                             #{mod 14539}#)))
-                       #{tmp 14565}#)
-                     (let ((#{tmp 15030}#
-                             ($sc-dispatch #{tmp 14564}# '(any any any))))
-                       (if #{tmp 15030}#
+                             #{exp 14565}#
+                             #{mod 14536}#)))
+                       #{tmp 14562}#)
+                     (let ((#{tmp 15027}#
+                             ($sc-dispatch #{tmp 14561}# '(any any any))))
+                       (if #{tmp 15027}#
                          (@apply
-                           (lambda (#{pat 15032}#
-                                    #{fender 15033}#
-                                    #{exp 15034}#)
-                             (#{gen-clause 13790}#
-                               #{x 14535}#
-                               #{keys 14536}#
-                               (cdr #{clauses 14537}#)
-                               #{r 14538}#
-                               #{pat 15032}#
-                               #{fender 15033}#
-                               #{exp 15034}#
-                               #{mod 14539}#))
-                           #{tmp 15030}#)
+                           (lambda (#{pat 15029}#
+                                    #{fender 15030}#
+                                    #{exp 15031}#)
+                             (#{gen-clause 13787}#
+                               #{x 14532}#
+                               #{keys 14533}#
+                               (cdr #{clauses 14534}#)
+                               #{r 14535}#
+                               #{pat 15029}#
+                               #{fender 15030}#
+                               #{exp 15031}#
+                               #{mod 14536}#))
+                           #{tmp 15027}#)
                          (syntax-violation
                            'syntax-case
                            "invalid clause"
-                           (car #{clauses 14537}#)))))))))))
-        (lambda (#{e 13792}#
-                 #{r 13793}#
-                 #{w 13794}#
-                 #{s 13795}#
-                 #{mod 13796}#)
-          (let ((#{e 13797}#
-                  (let ((#{x 14446}#
+                           (car #{clauses 14534}#)))))))))))
+        (lambda (#{e 13789}#
+                 #{r 13790}#
+                 #{w 13791}#
+                 #{s 13792}#
+                 #{mod 13793}#)
+          (let ((#{e 13794}#
+                  (let ((#{x 14443}#
                           (begin
-                            (if (if (pair? #{e 13792}#) #{s 13795}# #f)
-                              (set-source-properties! #{e 13792}# #{s 13795}#))
-                            #{e 13792}#)))
-                    (if (if (null? (car #{w 13794}#))
-                          (null? (cdr #{w 13794}#))
+                            (if (if (pair? #{e 13789}#) #{s 13792}# #f)
+                              (set-source-properties! #{e 13789}# #{s 13792}#))
+                            #{e 13789}#)))
+                    (if (if (null? (car #{w 13791}#))
+                          (null? (cdr #{w 13791}#))
                           #f)
-                      #{x 14446}#
-                      (if (if (vector? #{x 14446}#)
-                            (if (= (vector-length #{x 14446}#) 4)
-                              (eq? (vector-ref #{x 14446}# 0) 'syntax-object)
+                      #{x 14443}#
+                      (if (if (vector? #{x 14443}#)
+                            (if (= (vector-length #{x 14443}#) 4)
+                              (eq? (vector-ref #{x 14443}# 0) 'syntax-object)
                               #f)
                             #f)
-                        (let ((#{expression 14478}# (vector-ref #{x 14446}# 1))
-                              (#{wrap 14479}#
-                                (let ((#{w2 14487}#
-                                        (vector-ref #{x 14446}# 2)))
-                                  (let ((#{m1 14488}# (car #{w 13794}#))
-                                        (#{s1 14489}# (cdr #{w 13794}#)))
-                                    (if (null? #{m1 14488}#)
-                                      (if (null? #{s1 14489}#)
-                                        #{w2 14487}#
-                                        (cons (car #{w2 14487}#)
-                                              (let ((#{m2 14504}#
-                                                      (cdr #{w2 14487}#)))
-                                                (if (null? #{m2 14504}#)
-                                                  #{s1 14489}#
+                        (let ((#{expression 14475}# (vector-ref #{x 14443}# 1))
+                              (#{wrap 14476}#
+                                (let ((#{w2 14484}#
+                                        (vector-ref #{x 14443}# 2)))
+                                  (let ((#{m1 14485}# (car #{w 13791}#))
+                                        (#{s1 14486}# (cdr #{w 13791}#)))
+                                    (if (null? #{m1 14485}#)
+                                      (if (null? #{s1 14486}#)
+                                        #{w2 14484}#
+                                        (cons (car #{w2 14484}#)
+                                              (let ((#{m2 14501}#
+                                                      (cdr #{w2 14484}#)))
+                                                (if (null? #{m2 14501}#)
+                                                  #{s1 14486}#
                                                   (append
-                                                    #{s1 14489}#
-                                                    #{m2 14504}#)))))
-                                      (cons (let ((#{m2 14512}#
-                                                    (car #{w2 14487}#)))
-                                              (if (null? #{m2 14512}#)
-                                                #{m1 14488}#
+                                                    #{s1 14486}#
+                                                    #{m2 14501}#)))))
+                                      (cons (let ((#{m2 14509}#
+                                                    (car #{w2 14484}#)))
+                                              (if (null? #{m2 14509}#)
+                                                #{m1 14485}#
                                                 (append
-                                                  #{m1 14488}#
-                                                  #{m2 14512}#)))
-                                            (let ((#{m2 14520}#
-                                                    (cdr #{w2 14487}#)))
-                                              (if (null? #{m2 14520}#)
-                                                #{s1 14489}#
+                                                  #{m1 14485}#
+                                                  #{m2 14509}#)))
+                                            (let ((#{m2 14517}#
+                                                    (cdr #{w2 14484}#)))
+                                              (if (null? #{m2 14517}#)
+                                                #{s1 14486}#
                                                 (append
-                                                  #{s1 14489}#
-                                                  #{m2 14520}#))))))))
-                              (#{module 14480}# (vector-ref #{x 14446}# 3)))
+                                                  #{s1 14486}#
+                                                  #{m2 14517}#))))))))
+                              (#{module 14477}# (vector-ref #{x 14443}# 3)))
                           (vector
                             'syntax-object
-                            #{expression 14478}#
-                            #{wrap 14479}#
-                            #{module 14480}#))
-                        (if (null? #{x 14446}#)
-                          #{x 14446}#
+                            #{expression 14475}#
+                            #{wrap 14476}#
+                            #{module 14477}#))
+                        (if (null? #{x 14443}#)
+                          #{x 14443}#
                           (vector
                             'syntax-object
-                            #{x 14446}#
-                            #{w 13794}#
-                            #{mod 13796}#)))))))
-            (let ((#{tmp 13798}# #{e 13797}#))
-              (let ((#{tmp 13799}#
+                            #{x 14443}#
+                            #{w 13791}#
+                            #{mod 13793}#)))))))
+            (let ((#{tmp 13795}# #{e 13794}#))
+              (let ((#{tmp 13796}#
                       ($sc-dispatch
-                        #{tmp 13798}#
+                        #{tmp 13795}#
                         '(_ any each-any . each-any))))
-                (if #{tmp 13799}#
+                (if #{tmp 13796}#
                   (@apply
-                    (lambda (#{val 13851}# #{key 13852}# #{m 13853}#)
+                    (lambda (#{val 13848}# #{key 13849}# #{m 13850}#)
                       (if (and-map
-                            (lambda (#{x 13854}#)
-                              (if (if (symbol? #{x 13854}#)
+                            (lambda (#{x 13851}#)
+                              (if (if (symbol? #{x 13851}#)
                                     #t
-                                    (if (if (vector? #{x 13854}#)
-                                          (if (= (vector-length #{x 13854}#) 4)
-                                            (eq? (vector-ref #{x 13854}# 0)
+                                    (if (if (vector? #{x 13851}#)
+                                          (if (= (vector-length #{x 13851}#) 4)
+                                            (eq? (vector-ref #{x 13851}# 0)
                                                  'syntax-object)
                                             #f)
                                           #f)
-                                      (symbol? (vector-ref #{x 13854}# 1))
+                                      (symbol? (vector-ref #{x 13851}# 1))
                                       #f))
-                                (not (if (if (if (vector? #{x 13854}#)
+                                (not (if (if (if (vector? #{x 13851}#)
                                                (if (= (vector-length
-                                                        #{x 13854}#)
+                                                        #{x 13851}#)
                                                       4)
                                                  (eq? (vector-ref
-                                                        #{x 13854}#
+                                                        #{x 13851}#
                                                         0)
                                                       'syntax-object)
                                                  #f)
                                                #f)
-                                           (symbol? (vector-ref #{x 13854}# 1))
+                                           (symbol? (vector-ref #{x 13851}# 1))
                                            #f)
-                                       (#{free-id=? 4434}#
-                                         #{x 13854}#
+                                       (#{free-id=? 4431}#
+                                         #{x 13851}#
                                          '#(syntax-object
                                             ...
                                             ((top)
@@ -16577,29 +16513,29 @@
                                              #(ribcage
                                                #(x)
                                                #((top))
-                                               #("i2341"))
+                                               #("i2338"))
                                              #(ribcage
                                                (lambda-var-list
                                                  gen-var
                                                  strip
-                                                 chi-lambda-case
+                                                 expand-lambda-case
                                                  lambda*-formals
-                                                 chi-simple-lambda
+                                                 expand-simple-lambda
                                                  lambda-formals
                                                  ellipsis?
-                                                 chi-void
+                                                 expand-void
                                                  eval-local-transformer
-                                                 chi-local-syntax
-                                                 chi-body
-                                                 chi-macro
-                                                 chi-call
-                                                 chi-expr
-                                                 chi
+                                                 expand-local-syntax
+                                                 expand-body
+                                                 expand-macro
+                                                 expand-call
+                                                 expand-expr
+                                                 expand
                                                  syntax-type
-                                                 chi-when-list
-                                                 chi-install-global
-                                                 chi-top-sequence
-                                                 chi-sequence
+                                                 parse-when-list
+                                                 expand-install-global
+                                                 expand-top-sequence
+                                                 expand-sequence
                                                  source-wrap
                                                  wrap
                                                  bound-id-member?
@@ -17003,790 +16939,790 @@
                                             (hygiene guile)))
                                        #f))
                                 #f))
-                            #{key 13852}#)
-                        (let ((#{x 13919}#
+                            #{key 13849}#)
+                        (let ((#{x 13916}#
                                 (gensym
                                   (string-append (symbol->string 'tmp) " "))))
-                          (#{build-call 4380}#
-                            #{s 13795}#
-                            (let ((#{req 14061}# (list 'tmp))
-                                  (#{vars 14063}# (list #{x 13919}#))
-                                  (#{exp 14065}#
-                                    (#{gen-syntax-case 13791}#
+                          (#{build-call 4377}#
+                            #{s 13792}#
+                            (let ((#{req 14058}# (list 'tmp))
+                                  (#{vars 14060}# (list #{x 13916}#))
+                                  (#{exp 14062}#
+                                    (#{gen-syntax-case 13788}#
                                       (make-struct/no-tail
                                         (vector-ref %expanded-vtables 3)
                                         #f
                                         'tmp
-                                        #{x 13919}#)
-                                      #{key 13852}#
-                                      #{m 13853}#
-                                      #{r 13793}#
-                                      #{mod 13796}#)))
-                              (let ((#{body 14070}#
+                                        #{x 13916}#)
+                                      #{key 13849}#
+                                      #{m 13850}#
+                                      #{r 13790}#
+                                      #{mod 13793}#)))
+                              (let ((#{body 14067}#
                                       (make-struct/no-tail
                                         (vector-ref %expanded-vtables 15)
                                         #f
-                                        #{req 14061}#
+                                        #{req 14058}#
                                         #f
                                         #f
                                         #f
                                         '()
-                                        #{vars 14063}#
-                                        #{exp 14065}#
+                                        #{vars 14060}#
+                                        #{exp 14062}#
                                         #f)))
                                 (make-struct/no-tail
                                   (vector-ref %expanded-vtables 14)
                                   #f
                                   '()
-                                  #{body 14070}#)))
-                            (list (#{chi 4446}#
-                                    #{val 13851}#
-                                    #{r 13793}#
+                                  #{body 14067}#)))
+                            (list (#{expand 4443}#
+                                    #{val 13848}#
+                                    #{r 13790}#
                                     '(())
-                                    #{mod 13796}#))))
+                                    #{mod 13793}#))))
                         (syntax-violation
                           'syntax-case
                           "invalid literals list"
-                          #{e 13797}#)))
-                    #{tmp 13799}#)
+                          #{e 13794}#)))
+                    #{tmp 13796}#)
                   (syntax-violation
                     #f
                     "source expression failed to match any pattern"
-                    #{tmp 13798}#))))))))
+                    #{tmp 13795}#))))))))
     (set! macroexpand
       (lambda*
-        (#{x 16802}#
+        (#{x 16799}#
           #:optional
-          (#{m 16803}# 'e)
-          (#{esew 16804}# '(eval)))
-        (#{chi-top-sequence 4442}#
-          (list #{x 16802}#)
+          (#{m 16800}# 'e)
+          (#{esew 16801}# '(eval)))
+        (#{expand-top-sequence 4439}#
+          (list #{x 16799}#)
           '()
           '((top))
           #f
-          #{m 16803}#
-          #{esew 16804}#
+          #{m 16800}#
+          #{esew 16801}#
           (cons 'hygiene (module-name (current-module))))))
     (set! identifier?
-      (lambda (#{x 16807}#)
-        (if (if (vector? #{x 16807}#)
-              (if (= (vector-length #{x 16807}#) 4)
-                (eq? (vector-ref #{x 16807}# 0) 'syntax-object)
+      (lambda (#{x 16804}#)
+        (if (if (vector? #{x 16804}#)
+              (if (= (vector-length #{x 16804}#) 4)
+                (eq? (vector-ref #{x 16804}# 0) 'syntax-object)
                 #f)
               #f)
-          (symbol? (vector-ref #{x 16807}# 1))
+          (symbol? (vector-ref #{x 16804}# 1))
           #f)))
     (set! datum->