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->syntax
-      (lambda (#{id 16832}# #{datum 16833}#)
-        (let ((#{wrap 16838}# (vector-ref #{id 16832}# 2))
-              (#{module 16839}# (vector-ref #{id 16832}# 3)))
+      (lambda (#{id 16829}# #{datum 16830}#)
+        (let ((#{wrap 16835}# (vector-ref #{id 16829}# 2))
+              (#{module 16836}# (vector-ref #{id 16829}# 3)))
           (vector
             'syntax-object
-            #{datum 16833}#
-            #{wrap 16838}#
-            #{module 16839}#))))
+            #{datum 16830}#
+            #{wrap 16835}#
+            #{module 16836}#))))
     (set! syntax->datum
-      (lambda (#{x 16846}#)
-        (#{strip 4459}# #{x 16846}# '(()))))
+      (lambda (#{x 16843}#)
+        (#{strip 4456}# #{x 16843}# '(()))))
     (set! syntax-source
-      (lambda (#{x 16849}#)
-        (#{source-annotation 4407}# #{x 16849}#)))
+      (lambda (#{x 16846}#)
+        (#{source-annotation 4404}# #{x 16846}#)))
     (set! generate-temporaries
-      (lambda (#{ls 17051}#)
+      (lambda (#{ls 17048}#)
         (begin
-          (if (not (list? #{ls 17051}#))
+          (if (not (list? #{ls 17048}#))
             (syntax-violation
               'generate-temporaries
               "invalid argument"
-              #{ls 17051}#))
-          (let ((#{mod 17059}#
+              #{ls 17048}#))
+          (let ((#{mod 17056}#
                   (cons 'hygiene (module-name (current-module)))))
-            (map (lambda (#{x 17060}#)
-                   (let ((#{x 17064}# (gensym)))
-                     (if (if (vector? #{x 17064}#)
-                           (if (= (vector-length #{x 17064}#) 4)
-                             (eq? (vector-ref #{x 17064}# 0) 'syntax-object)
+            (map (lambda (#{x 17057}#)
+                   (let ((#{x 17061}# (gensym)))
+                     (if (if (vector? #{x 17061}#)
+                           (if (= (vector-length #{x 17061}#) 4)
+                             (eq? (vector-ref #{x 17061}# 0) 'syntax-object)
                              #f)
                            #f)
-                       (let ((#{expression 17079}# (vector-ref #{x 17064}# 1))
-                             (#{wrap 17080}#
-                               (let ((#{w2 17088}# (vector-ref #{x 17064}# 2)))
-                                 (cons (let ((#{m2 17095}# (car #{w2 17088}#)))
-                                         (if (null? #{m2 17095}#)
+                       (let ((#{expression 17076}# (vector-ref #{x 17061}# 1))
+                             (#{wrap 17077}#
+                               (let ((#{w2 17085}# (vector-ref #{x 17061}# 2)))
+                                 (cons (let ((#{m2 17092}# (car #{w2 17085}#)))
+                                         (if (null? #{m2 17092}#)
                                            '(top)
-                                           (append '(top) #{m2 17095}#)))
-                                       (let ((#{m2 17102}# (cdr #{w2 17088}#)))
-                                         (if (null? #{m2 17102}#)
+                                           (append '(top) #{m2 17092}#)))
+                                       (let ((#{m2 17099}# (cdr #{w2 17085}#)))
+                                         (if (null? #{m2 17099}#)
                                            '()
-                                           (append '() #{m2 17102}#))))))
-                             (#{module 17081}# (vector-ref #{x 17064}# 3)))
+                                           (append '() #{m2 17099}#))))))
+                             (#{module 17078}# (vector-ref #{x 17061}# 3)))
                          (vector
                            'syntax-object
-                           #{expression 17079}#
-                           #{wrap 17080}#
-                           #{module 17081}#))
-                       (if (null? #{x 17064}#)
-                         #{x 17064}#
+                           #{expression 17076}#
+                           #{wrap 17077}#
+                           #{module 17078}#))
+                       (if (null? #{x 17061}#)
+                         #{x 17061}#
                          (vector
                            'syntax-object
-                           #{x 17064}#
+                           #{x 17061}#
                            '((top))
-                           #{mod 17059}#)))))
-                 #{ls 17051}#)))))
+                           #{mod 17056}#)))))
+                 #{ls 17048}#)))))
     (set! free-identifier=?
-      (lambda (#{x 17111}# #{y 17112}#)
+      (lambda (#{x 17108}# #{y 17109}#)
         (begin
-          (if (not (if (if (vector? #{x 17111}#)
-                         (if (= (vector-length #{x 17111}#) 4)
-                           (eq? (vector-ref #{x 17111}# 0) 'syntax-object)
+          (if (not (if (if (vector? #{x 17108}#)
+                         (if (= (vector-length #{x 17108}#) 4)
+                           (eq? (vector-ref #{x 17108}# 0) 'syntax-object)
                            #f)
                          #f)
-                     (symbol? (vector-ref #{x 17111}# 1))
+                     (symbol? (vector-ref #{x 17108}# 1))
                      #f))
             (syntax-violation
               'free-identifier=?
               "invalid argument"
-              #{x 17111}#))
-          (if (not (if (if (vector? #{y 17112}#)
-                         (if (= (vector-length #{y 17112}#) 4)
-                           (eq? (vector-ref #{y 17112}# 0) 'syntax-object)
+              #{x 17108}#))
+          (if (not (if (if (vector? #{y 17109}#)
+                         (if (= (vector-length #{y 17109}#) 4)
+                           (eq? (vector-ref #{y 17109}# 0) 'syntax-object)
                            #f)
                          #f)
-                     (symbol? (vector-ref #{y 17112}# 1))
+                     (symbol? (vector-ref #{y 17109}# 1))
                      #f))
             (syntax-violation
               'free-identifier=?
               "invalid argument"
-              #{y 17112}#))
-          (#{free-id=? 4434}# #{x 17111}# #{y 17112}#))))
+              #{y 17109}#))
+          (#{free-id=? 4431}# #{x 17108}# #{y 17109}#))))
     (set! bound-identifier=?
-      (lambda (#{x 17187}# #{y 17188}#)
+      (lambda (#{x 17184}# #{y 17185}#)
         (begin
-          (if (not (if (if (vector? #{x 17187}#)
-                         (if (= (vector-length #{x 17187}#) 4)
-                           (eq? (vector-ref #{x 17187}# 0) 'syntax-object)
+          (if (not (if (if (vector? #{x 17184}#)
+                         (if (= (vector-length #{x 17184}#) 4)
+                           (eq? (vector-ref #{x 17184}# 0) 'syntax-object)
                            #f)
                          #f)
-                     (symbol? (vector-ref #{x 17187}# 1))
+                     (symbol? (vector-ref #{x 17184}# 1))
                      #f))
             (syntax-violation
               'bound-identifier=?
               "invalid argument"
-              #{x 17187}#))
-          (if (not (if (if (vector? #{y 17188}#)
-                         (if (= (vector-length #{y 17188}#) 4)
-                           (eq? (vector-ref #{y 17188}# 0) 'syntax-object)
+              #{x 17184}#))
+          (if (not (if (if (vector? #{y 17185}#)
+                         (if (= (vector-length #{y 17185}#) 4)
+                           (eq? (vector-ref #{y 17185}# 0) 'syntax-object)
                            #f)
                          #f)
-                     (symbol? (vector-ref #{y 17188}# 1))
+                     (symbol? (vector-ref #{y 17185}# 1))
                      #f))
             (syntax-violation
               'bound-identifier=?
               "invalid argument"
-              #{y 17188}#))
-          (#{bound-id=? 4435}# #{x 17187}# #{y 17188}#))))
+              #{y 17185}#))
+          (#{bound-id=? 4432}# #{x 17184}# #{y 17185}#))))
     (set! syntax-violation
       (lambda*
-        (#{who 17354}#
-          #{message 17355}#
-          #{form 17356}#
+        (#{who 17351}#
+          #{message 17352}#
+          #{form 17353}#
           #:optional
-          (#{subform 17357}# #f))
+          (#{subform 17354}# #f))
         (begin
-          (if (not (if (not #{who 17354}#)
-                     (not #{who 17354}#)
-                     (let ((#{t 17375}# (string? #{who 17354}#)))
-                       (if #{t 17375}#
-                         #{t 17375}#
-                         (symbol? #{who 17354}#)))))
+          (if (not (if (not #{who 17351}#)
+                     (not #{who 17351}#)
+                     (let ((#{t 17372}# (string? #{who 17351}#)))
+                       (if #{t 17372}#
+                         #{t 17372}#
+                         (symbol? #{who 17351}#)))))
             (syntax-violation
               'syntax-violation
               "invalid argument"
-              #{who 17354}#))
-          (if (not (string? #{message 17355}#))
+              #{who 17351}#))
+          (if (not (string? #{message 17352}#))
             (syntax-violation
               'syntax-violation
               "invalid argument"
-              #{message 17355}#))
+              #{message 17352}#))
           (throw 'syntax-error
-                 #{who 17354}#
-                 #{message 17355}#
-                 (#{source-annotation 4407}#
-                   (if #{form 17356}#
-                     #{form 17356}#
-                     #{subform 17357}#))
-                 (#{strip 4459}# #{form 17356}# '(()))
-                 (if #{subform 17357}#
-                   (#{strip 4459}# #{subform 17357}# '(()))
+                 #{who 17351}#
+                 #{message 17352}#
+                 (#{source-annotation 4404}#
+                   (if #{form 17353}#
+                     #{form 17353}#
+                     #{subform 17354}#))
+                 (#{strip 4456}# #{form 17353}# '(()))
+                 (if #{subform 17354}#
+                   (#{strip 4456}# #{subform 17354}# '(()))
                    #f)))))
     (letrec*
-      ((#{match-each 17626}#
-         (lambda (#{e 18514}#
-                  #{p 18515}#
-                  #{w 18516}#
-                  #{mod 18517}#)
-           (if (pair? #{e 18514}#)
-             (let ((#{first 18518}#
-                     (#{match 17632}#
-                       (car #{e 18514}#)
-                       #{p 18515}#
-                       #{w 18516}#
+      ((#{match-each 17623}#
+         (lambda (#{e 18511}#
+                  #{p 18512}#
+                  #{w 18513}#
+                  #{mod 18514}#)
+           (if (pair? #{e 18511}#)
+             (let ((#{first 18515}#
+                     (#{match 17629}#
+                       (car #{e 18511}#)
+                       #{p 18512}#
+                       #{w 18513}#
                        '()
-                       #{mod 18517}#)))
-               (if #{first 18518}#
-                 (let ((#{rest 18521}#
-                         (#{match-each 17626}#
-                           (cdr #{e 18514}#)
-                           #{p 18515}#
-                           #{w 18516}#
-                           #{mod 18517}#)))
-                   (if #{rest 18521}#
-                     (cons #{first 18518}# #{rest 18521}#)
+                       #{mod 18514}#)))
+               (if #{first 18515}#
+                 (let ((#{rest 18518}#
+                         (#{match-each 17623}#
+                           (cdr #{e 18511}#)
+                           #{p 18512}#
+                           #{w 18513}#
+                           #{mod 18514}#)))
+                   (if #{rest 18518}#
+                     (cons #{first 18515}# #{rest 18518}#)
                      #f))
                  #f))
-             (if (null? #{e 18514}#)
+             (if (null? #{e 18511}#)
                '()
-               (if (if (vector? #{e 18514}#)
-                     (if (= (vector-length #{e 18514}#) 4)
-                       (eq? (vector-ref #{e 18514}# 0) 'syntax-object)
+               (if (if (vector? #{e 18511}#)
+                     (if (= (vector-length #{e 18511}#) 4)
+                       (eq? (vector-ref #{e 18511}# 0) 'syntax-object)
                        #f)
                      #f)
-                 (#{match-each 17626}#
-                   (vector-ref #{e 18514}# 1)
-                   #{p 18515}#
-                   (let ((#{w2 18543}# (vector-ref #{e 18514}# 2)))
-                     (let ((#{m1 18544}# (car #{w 18516}#))
-                           (#{s1 18545}# (cdr #{w 18516}#)))
-                       (if (null? #{m1 18544}#)
-                         (if (null? #{s1 18545}#)
-                           #{w2 18543}#
-                           (cons (car #{w2 18543}#)
-                                 (let ((#{m2 18556}# (cdr #{w2 18543}#)))
-                                   (if (null? #{m2 18556}#)
-                                     #{s1 18545}#
-                                     (append #{s1 18545}# #{m2 18556}#)))))
-                         (cons (let ((#{m2 18564}# (car #{w2 18543}#)))
-                                 (if (null? #{m2 18564}#)
-                                   #{m1 18544}#
-                                   (append #{m1 18544}# #{m2 18564}#)))
-                               (let ((#{m2 18572}# (cdr #{w2 18543}#)))
-                                 (if (null? #{m2 18572}#)
-                                   #{s1 18545}#
-                                   (append #{s1 18545}# #{m2 18572}#)))))))
-                   (vector-ref #{e 18514}# 3))
+                 (#{match-each 17623}#
+                   (vector-ref #{e 18511}# 1)
+                   #{p 18512}#
+                   (let ((#{w2 18540}# (vector-ref #{e 18511}# 2)))
+                     (let ((#{m1 18541}# (car #{w 18513}#))
+                           (#{s1 18542}# (cdr #{w 18513}#)))
+                       (if (null? #{m1 18541}#)
+                         (if (null? #{s1 18542}#)
+                           #{w2 18540}#
+                           (cons (car #{w2 18540}#)
+                                 (let ((#{m2 18553}# (cdr #{w2 18540}#)))
+                                   (if (null? #{m2 18553}#)
+                                     #{s1 18542}#
+                                     (append #{s1 18542}# #{m2 18553}#)))))
+                         (cons (let ((#{m2 18561}# (car #{w2 18540}#)))
+                                 (if (null? #{m2 18561}#)
+                                   #{m1 18541}#
+                                   (append #{m1 18541}# #{m2 18561}#)))
+                               (let ((#{m2 18569}# (cdr #{w2 18540}#)))
+                                 (if (null? #{m2 18569}#)
+                                   #{s1 18542}#
+                                   (append #{s1 18542}# #{m2 18569}#)))))))
+                   (vector-ref #{e 18511}# 3))
                  #f)))))
-       (#{match-each-any 17628}#
-         (lambda (#{e 18581}# #{w 18582}# #{mod 18583}#)
-           (if (pair? #{e 18581}#)
-             (let ((#{l 18584}#
-                     (#{match-each-any 17628}#
-                       (cdr #{e 18581}#)
-                       #{w 18582}#
-                       #{mod 18583}#)))
-               (if #{l 18584}#
-                 (cons (let ((#{x 18589}# (car #{e 18581}#)))
-                         (if (if (null? (car #{w 18582}#))
-                               (null? (cdr #{w 18582}#))
+       (#{match-each-any 17625}#
+         (lambda (#{e 18578}# #{w 18579}# #{mod 18580}#)
+           (if (pair? #{e 18578}#)
+             (let ((#{l 18581}#
+                     (#{match-each-any 17625}#
+                       (cdr #{e 18578}#)
+                       #{w 18579}#
+                       #{mod 18580}#)))
+               (if #{l 18581}#
+                 (cons (let ((#{x 18586}# (car #{e 18578}#)))
+                         (if (if (null? (car #{w 18579}#))
+                               (null? (cdr #{w 18579}#))
                                #f)
-                           #{x 18589}#
-                           (if (if (vector? #{x 18589}#)
-                                 (if (= (vector-length #{x 18589}#) 4)
-                                   (eq? (vector-ref #{x 18589}# 0)
+                           #{x 18586}#
+                           (if (if (vector? #{x 18586}#)
+                                 (if (= (vector-length #{x 18586}#) 4)
+                                   (eq? (vector-ref #{x 18586}# 0)
                                         'syntax-object)
                                    #f)
                                  #f)
-                             (let ((#{expression 18607}#
-                                     (vector-ref #{x 18589}# 1))
-                                   (#{wrap 18608}#
-                                     (let ((#{w2 18616}#
-                                             (vector-ref #{x 18589}# 2)))
-                                       (let ((#{m1 18617}# (car #{w 18582}#))
-                                             (#{s1 18618}# (cdr #{w 18582}#)))
-                                         (if (null? #{m1 18617}#)
-                                           (if (null? #{s1 18618}#)
-                                             #{w2 18616}#
-                                             (cons (car #{w2 18616}#)
-                                                   (let ((#{m2 18633}#
-                                                           (cdr #{w2 18616}#)))
-                                                     (if (null? #{m2 18633}#)
-                                                       #{s1 18618}#
+                             (let ((#{expression 18604}#
+                                     (vector-ref #{x 18586}# 1))
+                                   (#{wrap 18605}#
+                                     (let ((#{w2 18613}#
+                                             (vector-ref #{x 18586}# 2)))
+                                       (let ((#{m1 18614}# (car #{w 18579}#))
+                                             (#{s1 18615}# (cdr #{w 18579}#)))
+                                         (if (null? #{m1 18614}#)
+                                           (if (null? #{s1 18615}#)
+                                             #{w2 18613}#
+                                             (cons (car #{w2 18613}#)
+                                                   (let ((#{m2 18630}#
+                                                           (cdr #{w2 18613}#)))
+                                                     (if (null? #{m2 18630}#)
+                                                       #{s1 18615}#
                                                        (append
-                                                         #{s1 18618}#
-                                                         #{m2 18633}#)))))
-                                           (cons (let ((#{m2 18641}#
-                                                         (car #{w2 18616}#)))
-                                                   (if (null? #{m2 18641}#)
-                                                     #{m1 18617}#
+                                                         #{s1 18615}#
+                                                         #{m2 18630}#)))))
+                                           (cons (let ((#{m2 18638}#
+                                                         (car #{w2 18613}#)))
+                                                   (if (null? #{m2 18638}#)
+                                                     #{m1 18614}#
                                                      (append
-                                                       #{m1 18617}#
-                                                       #{m2 18641}#)))
-                                                 (let ((#{m2 18649}#
-                                                         (cdr #{w2 18616}#)))
-                                                   (if (null? #{m2 18649}#)
-                                                     #{s1 18618}#
+                                                       #{m1 18614}#
+                                                       #{m2 18638}#)))
+                                                 (let ((#{m2 18646}#
+                                                         (cdr #{w2 18613}#)))
+                                                   (if (null? #{m2 18646}#)
+                                                     #{s1 18615}#
                                                      (append
-                                                       #{s1 18618}#
-                                                       #{m2 18649}#))))))))
-                                   (#{module 18609}#
-                                     (vector-ref #{x 18589}# 3)))
+                                                       #{s1 18615}#
+                                                       #{m2 18646}#))))))))
+                                   (#{module 18606}#
+                                     (vector-ref #{x 18586}# 3)))
                                (vector
                                  'syntax-object
-                                 #{expression 18607}#
-                                 #{wrap 18608}#
-                                 #{module 18609}#))
-                             (if (null? #{x 18589}#)
-                               #{x 18589}#
+                                 #{expression 18604}#
+                                 #{wrap 18605}#
+                                 #{module 18606}#))
+                             (if (null? #{x 18586}#)
+                               #{x 18586}#
                                (vector
                                  'syntax-object
-                                 #{x 18589}#
-                                 #{w 18582}#
-                                 #{mod 18583}#)))))
-                       #{l 18584}#)
+                                 #{x 18586}#
+                                 #{w 18579}#
+                                 #{mod 18580}#)))))
+                       #{l 18581}#)
                  #f))
-             (if (null? #{e 18581}#)
+             (if (null? #{e 18578}#)
                '()
-               (if (if (vector? #{e 18581}#)
-                     (if (= (vector-length #{e 18581}#) 4)
-                       (eq? (vector-ref #{e 18581}# 0) 'syntax-object)
+               (if (if (vector? #{e 18578}#)
+                     (if (= (vector-length #{e 18578}#) 4)
+                       (eq? (vector-ref #{e 18578}# 0) 'syntax-object)
                        #f)
                      #f)
-                 (#{match-each-any 17628}#
-                   (vector-ref #{e 18581}# 1)
-                   (let ((#{w2 18682}# (vector-ref #{e 18581}# 2)))
-                     (let ((#{m1 18683}# (car #{w 18582}#))
-                           (#{s1 18684}# (cdr #{w 18582}#)))
-                       (if (null? #{m1 18683}#)
-                         (if (null? #{s1 18684}#)
-                           #{w2 18682}#
-                           (cons (car #{w2 18682}#)
-                                 (let ((#{m2 18695}# (cdr #{w2 18682}#)))
-                                   (if (null? #{m2 18695}#)
-                                     #{s1 18684}#
-                                     (append #{s1 18684}# #{m2 18695}#)))))
-                         (cons (let ((#{m2 18703}# (car #{w2 18682}#)))
-                                 (if (null? #{m2 18703}#)
-                                   #{m1 18683}#
-                                   (append #{m1 18683}# #{m2 18703}#)))
-                               (let ((#{m2 18711}# (cdr #{w2 18682}#)))
-                                 (if (null? #{m2 18711}#)
-                                   #{s1 18684}#
-                                   (append #{s1 18684}# #{m2 18711}#)))))))
-                   #{mod 18583}#)
+                 (#{match-each-any 17625}#
+                   (vector-ref #{e 18578}# 1)
+                   (let ((#{w2 18679}# (vector-ref #{e 18578}# 2)))
+                     (let ((#{m1 18680}# (car #{w 18579}#))
+                           (#{s1 18681}# (cdr #{w 18579}#)))
+                       (if (null? #{m1 18680}#)
+                         (if (null? #{s1 18681}#)
+                           #{w2 18679}#
+                           (cons (car #{w2 18679}#)
+                                 (let ((#{m2 18692}# (cdr #{w2 18679}#)))
+                                   (if (null? #{m2 18692}#)
+                                     #{s1 18681}#
+                                     (append #{s1 18681}# #{m2 18692}#)))))
+                         (cons (let ((#{m2 18700}# (car #{w2 18679}#)))
+                                 (if (null? #{m2 18700}#)
+                                   #{m1 18680}#
+                                   (append #{m1 18680}# #{m2 18700}#)))
+                               (let ((#{m2 18708}# (cdr #{w2 18679}#)))
+                                 (if (null? #{m2 18708}#)
+                                   #{s1 18681}#
+                                   (append #{s1 18681}# #{m2 18708}#)))))))
+                   #{mod 18580}#)
                  #f)))))
-       (#{match-empty 17629}#
-         (lambda (#{p 18716}# #{r 18717}#)
-           (if (null? #{p 18716}#)
-             #{r 18717}#
-             (if (eq? #{p 18716}# '_)
-               #{r 18717}#
-               (if (eq? #{p 18716}# 'any)
-                 (cons '() #{r 18717}#)
-                 (if (pair? #{p 18716}#)
-                   (#{match-empty 17629}#
-                     (car #{p 18716}#)
-                     (#{match-empty 17629}#
-                       (cdr #{p 18716}#)
-                       #{r 18717}#))
-                   (if (eq? #{p 18716}# 'each-any)
-                     (cons '() #{r 18717}#)
-                     (let ((#{atom-key 18718}# (vector-ref #{p 18716}# 0)))
-                       (if (eqv? #{atom-key 18718}# 'each)
-                         (#{match-empty 17629}#
-                           (vector-ref #{p 18716}# 1)
-                           #{r 18717}#)
-                         (if (eqv? #{atom-key 18718}# 'each+)
-                           (#{match-empty 17629}#
-                             (vector-ref #{p 18716}# 1)
-                             (#{match-empty 17629}#
-                               (reverse (vector-ref #{p 18716}# 2))
-                               (#{match-empty 17629}#
-                                 (vector-ref #{p 18716}# 3)
-                                 #{r 18717}#)))
-                           (if (if (eqv? #{atom-key 18718}# 'free-id)
+       (#{match-empty 17626}#
+         (lambda (#{p 18713}# #{r 18714}#)
+           (if (null? #{p 18713}#)
+             #{r 18714}#
+             (if (eq? #{p 18713}# '_)
+               #{r 18714}#
+               (if (eq? #{p 18713}# 'any)
+                 (cons '() #{r 18714}#)
+                 (if (pair? #{p 18713}#)
+                   (#{match-empty 17626}#
+                     (car #{p 18713}#)
+                     (#{match-empty 17626}#
+                       (cdr #{p 18713}#)
+                       #{r 18714}#))
+                   (if (eq? #{p 18713}# 'each-any)
+                     (cons '() #{r 18714}#)
+                     (let ((#{atom-key 18715}# (vector-ref #{p 18713}# 0)))
+                       (if (eqv? #{atom-key 18715}# 'each)
+                         (#{match-empty 17626}#
+                           (vector-ref #{p 18713}# 1)
+                           #{r 18714}#)
+                         (if (eqv? #{atom-key 18715}# 'each+)
+                           (#{match-empty 17626}#
+                             (vector-ref #{p 18713}# 1)
+                             (#{match-empty 17626}#
+                               (reverse (vector-ref #{p 18713}# 2))
+                               (#{match-empty 17626}#
+                                 (vector-ref #{p 18713}# 3)
+                                 #{r 18714}#)))
+                           (if (if (eqv? #{atom-key 18715}# 'free-id)
                                  #t
-                                 (eqv? #{atom-key 18718}# 'atom))
-                             #{r 18717}#
-                             (if (eqv? #{atom-key 18718}# 'vector)
-                               (#{match-empty 17629}#
-                                 (vector-ref #{p 18716}# 1)
-                                 #{r 18717}#)))))))))))))
-       (#{combine 17630}#
-         (lambda (#{r* 18737}# #{r 18738}#)
-           (if (null? (car #{r* 18737}#))
-             #{r 18738}#
-             (cons (map car #{r* 18737}#)
-                   (#{combine 17630}#
-                     (map cdr #{r* 18737}#)
-                     #{r 18738}#)))))
-       (#{match* 17631}#
-         (lambda (#{e 17661}#
-                  #{p 17662}#
-                  #{w 17663}#
-                  #{r 17664}#
-                  #{mod 17665}#)
-           (if (null? #{p 17662}#)
-             (if (null? #{e 17661}#) #{r 17664}# #f)
-             (if (pair? #{p 17662}#)
-               (if (pair? #{e 17661}#)
-                 (#{match 17632}#
-                   (car #{e 17661}#)
-                   (car #{p 17662}#)
-                   #{w 17663}#
-                   (#{match 17632}#
-                     (cdr #{e 17661}#)
-                     (cdr #{p 17662}#)
-                     #{w 17663}#
-                     #{r 17664}#
-                     #{mod 17665}#)
-                   #{mod 17665}#)
+                                 (eqv? #{atom-key 18715}# 'atom))
+                             #{r 18714}#
+                             (if (eqv? #{atom-key 18715}# 'vector)
+                               (#{match-empty 17626}#
+                                 (vector-ref #{p 18713}# 1)
+                                 #{r 18714}#)))))))))))))
+       (#{combine 17627}#
+         (lambda (#{r* 18734}# #{r 18735}#)
+           (if (null? (car #{r* 18734}#))
+             #{r 18735}#
+             (cons (map car #{r* 18734}#)
+                   (#{combine 17627}#
+                     (map cdr #{r* 18734}#)
+                     #{r 18735}#)))))
+       (#{match* 17628}#
+         (lambda (#{e 17658}#
+                  #{p 17659}#
+                  #{w 17660}#
+                  #{r 17661}#
+                  #{mod 17662}#)
+           (if (null? #{p 17659}#)
+             (if (null? #{e 17658}#) #{r 17661}# #f)
+             (if (pair? #{p 17659}#)
+               (if (pair? #{e 17658}#)
+                 (#{match 17629}#
+                   (car #{e 17658}#)
+                   (car #{p 17659}#)
+                   #{w 17660}#
+                   (#{match 17629}#
+                     (cdr #{e 17658}#)
+                     (cdr #{p 17659}#)
+                     #{w 17660}#
+                     #{r 17661}#
+                     #{mod 17662}#)
+                   #{mod 17662}#)
                  #f)
-               (if (eq? #{p 17662}# 'each-any)
-                 (let ((#{l 17670}#
-                         (#{match-each-any 17628}#
-                           #{e 17661}#
-                           #{w 17663}#
-                           #{mod 17665}#)))
-                   (if #{l 17670}#
-                     (cons #{l 17670}# #{r 17664}#)
+               (if (eq? #{p 17659}# 'each-any)
+                 (let ((#{l 17667}#
+                         (#{match-each-any 17625}#
+                           #{e 17658}#
+                           #{w 17660}#
+                           #{mod 17662}#)))
+                   (if #{l 17667}#
+                     (cons #{l 17667}# #{r 17661}#)
                      #f))
-                 (let ((#{atom-key 17675}# (vector-ref #{p 17662}# 0)))
-                   (if (eqv? #{atom-key 17675}# 'each)
-                     (if (null? #{e 17661}#)
-                       (#{match-empty 17629}#
-                         (vector-ref #{p 17662}# 1)
-                         #{r 17664}#)
-                       (let ((#{l 17682}#
-                               (#{match-each 17626}#
-                                 #{e 17661}#
-                                 (vector-ref #{p 17662}# 1)
-                                 #{w 17663}#
-                                 #{mod 17665}#)))
-                         (if #{l 17682}#
+                 (let ((#{atom-key 17672}# (vector-ref #{p 17659}# 0)))
+                   (if (eqv? #{atom-key 17672}# 'each)
+                     (if (null? #{e 17658}#)
+                       (#{match-empty 17626}#
+                         (vector-ref #{p 17659}# 1)
+                         #{r 17661}#)
+                       (let ((#{l 17679}#
+                               (#{match-each 17623}#
+                                 #{e 17658}#
+                                 (vector-ref #{p 17659}# 1)
+                                 #{w 17660}#
+                                 #{mod 17662}#)))
+                         (if #{l 17679}#
                            (letrec*
-                             ((#{collect 17685}#
-                                (lambda (#{l 17746}#)
-                                  (if (null? (car #{l 17746}#))
-                                    #{r 17664}#
-                                    (cons (map car #{l 17746}#)
-                                          (#{collect 17685}#
-                                            (map cdr #{l 17746}#)))))))
-                             (#{collect 17685}# #{l 17682}#))
+                             ((#{collect 17682}#
+                                (lambda (#{l 17743}#)
+                                  (if (null? (car #{l 17743}#))
+                                    #{r 17661}#
+                                    (cons (map car #{l 17743}#)
+                                          (#{collect 17682}#
+                                            (map cdr #{l 17743}#)))))))
+                             (#{collect 17682}# #{l 17679}#))
                            #f)))
-                     (if (eqv? #{atom-key 17675}# 'each+)
+                     (if (eqv? #{atom-key 17672}# 'each+)
                        (call-with-values
                          (lambda ()
-                           (let ((#{x-pat 17755}# (vector-ref #{p 17662}# 1))
-                                 (#{y-pat 17756}# (vector-ref #{p 17662}# 2))
-                                 (#{z-pat 17757}# (vector-ref #{p 17662}# 3)))
+                           (let ((#{x-pat 17752}# (vector-ref #{p 17659}# 1))
+                                 (#{y-pat 17753}# (vector-ref #{p 17659}# 2))
+                                 (#{z-pat 17754}# (vector-ref #{p 17659}# 3)))
                              (letrec*
-                               ((#{f 17761}#
-                                  (lambda (#{e 17763}# #{w 17764}#)
-                                    (if (pair? #{e 17763}#)
+                               ((#{f 17758}#
+                                  (lambda (#{e 17760}# #{w 17761}#)
+                                    (if (pair? #{e 17760}#)
                                       (call-with-values
                                         (lambda ()
-                                          (#{f 17761}#
-                                            (cdr #{e 17763}#)
-                                            #{w 17764}#))
-                                        (lambda (#{xr* 17765}#
-                                                 #{y-pat 17766}#
-                                                 #{r 17767}#)
-                                          (if #{r 17767}#
-                                            (if (null? #{y-pat 17766}#)
-                                              (let ((#{xr 17768}#
-                                                      (#{match 17632}#
-                                                        (car #{e 17763}#)
-                                                        #{x-pat 17755}#
-                                                        #{w 17764}#
+                                          (#{f 17758}#
+                                            (cdr #{e 17760}#)
+                                            #{w 17761}#))
+                                        (lambda (#{xr* 17762}#
+                                                 #{y-pat 17763}#
+                                                 #{r 17764}#)
+                                          (if #{r 17764}#
+                                            (if (null? #{y-pat 17763}#)
+                                              (let ((#{xr 17765}#
+                                                      (#{match 17629}#
+                                                        (car #{e 17760}#)
+                                                        #{x-pat 17752}#
+                                                        #{w 17761}#
                                                         '()
-                                                        #{mod 17665}#)))
-                                                (if #{xr 17768}#
+                                                        #{mod 17662}#)))
+                                                (if #{xr 17765}#
                                                   (values
-                                                    (cons #{xr 17768}#
-                                                          #{xr* 17765}#)
-                                                    #{y-pat 17766}#
-                                                    #{r 17767}#)
+                                                    (cons #{xr 17765}#
+                                                          #{xr* 17762}#)
+                                                    #{y-pat 17763}#
+                                                    #{r 17764}#)
                                                   (values #f #f #f)))
                                               (values
                                                 '()
-                                                (cdr #{y-pat 17766}#)
-                                                (#{match 17632}#
-                                                  (car #{e 17763}#)
-                                                  (car #{y-pat 17766}#)
-                                                  #{w 17764}#
-                                                  #{r 17767}#
-                                                  #{mod 17665}#)))
+                                                (cdr #{y-pat 17763}#)
+                                                (#{match 17629}#
+                                                  (car #{e 17760}#)
+                                                  (car #{y-pat 17763}#)
+                                                  #{w 17761}#
+                                                  #{r 17764}#
+                                                  #{mod 17662}#)))
                                             (values #f #f #f))))
-                                      (if (if (vector? #{e 17763}#)
-                                            (if (= (vector-length #{e 17763}#)
+                                      (if (if (vector? #{e 17760}#)
+                                            (if (= (vector-length #{e 17760}#)
                                                    4)
-                                              (eq? (vector-ref #{e 17763}# 0)
+                                              (eq? (vector-ref #{e 17760}# 0)
                                                    'syntax-object)
                                               #f)
                                             #f)
-                                        (#{f 17761}#
-                                          (vector-ref #{e 17763}# 1)
-                                          (let ((#{m1 17796}#
-                                                  (car #{w 17764}#))
-                                                (#{s1 17797}#
-                                                  (cdr #{w 17764}#)))
-                                            (if (null? #{m1 17796}#)
-                                              (if (null? #{s1 17797}#)
-                                                #{e 17763}#
-                                                (cons (car #{e 17763}#)
-                                                      (let ((#{m2 17809}#
-                                                              (cdr #{e 
17763}#)))
-                                                        (if (null? #{m2 
17809}#)
-                                                          #{s1 17797}#
+                                        (#{f 17758}#
+                                          (vector-ref #{e 17760}# 1)
+                                          (let ((#{m1 17793}#
+                                                  (car #{w 17761}#))
+                                                (#{s1 17794}#
+                                                  (cdr #{w 17761}#)))
+                                            (if (null? #{m1 17793}#)
+                                              (if (null? #{s1 17794}#)
+                                                #{e 17760}#
+                                                (cons (car #{e 17760}#)
+                                                      (let ((#{m2 17806}#
+                                                              (cdr #{e 
17760}#)))
+                                                        (if (null? #{m2 
17806}#)
+                                                          #{s1 17794}#
                                                           (append
-                                                            #{s1 17797}#
-                                                            #{m2 17809}#)))))
-                                              (cons (let ((#{m2 17819}#
-                                                            (car #{e 17763}#)))
-                                                      (if (null? #{m2 17819}#)
-                                                        #{m1 17796}#
+                                                            #{s1 17794}#
+                                                            #{m2 17806}#)))))
+                                              (cons (let ((#{m2 17816}#
+                                                            (car #{e 17760}#)))
+                                                      (if (null? #{m2 17816}#)
+                                                        #{m1 17793}#
                                                         (append
-                                                          #{m1 17796}#
-                                                          #{m2 17819}#)))
-                                                    (let ((#{m2 17829}#
-                                                            (cdr #{e 17763}#)))
-                                                      (if (null? #{m2 17829}#)
-                                                        #{s1 17797}#
+                                                          #{m1 17793}#
+                                                          #{m2 17816}#)))
+                                                    (let ((#{m2 17826}#
+                                                            (cdr #{e 17760}#)))
+                                                      (if (null? #{m2 17826}#)
+                                                        #{s1 17794}#
                                                         (append
-                                                          #{s1 17797}#
-                                                          #{m2 17829}#)))))))
+                                                          #{s1 17794}#
+                                                          #{m2 17826}#)))))))
                                         (values
                                           '()
-                                          #{y-pat 17756}#
-                                          (#{match 17632}#
-                                            #{e 17763}#
-                                            #{z-pat 17757}#
-                                            #{w 17764}#
-                                            #{r 17664}#
-                                            #{mod 17665}#)))))))
-                               (#{f 17761}# #{e 17661}# #{w 17663}#))))
-                         (lambda (#{xr* 17839}# #{y-pat 17840}# #{r 17841}#)
-                           (if #{r 17841}#
-                             (if (null? #{y-pat 17840}#)
-                               (if (null? #{xr* 17839}#)
-                                 (#{match-empty 17629}#
-                                   (vector-ref #{p 17662}# 1)
-                                   #{r 17841}#)
-                                 (#{combine 17630}# #{xr* 17839}# #{r 17841}#))
+                                          #{y-pat 17753}#
+                                          (#{match 17629}#
+                                            #{e 17760}#
+                                            #{z-pat 17754}#
+                                            #{w 17761}#
+                                            #{r 17661}#
+                                            #{mod 17662}#)))))))
+                               (#{f 17758}# #{e 17658}# #{w 17660}#))))
+                         (lambda (#{xr* 17836}# #{y-pat 17837}# #{r 17838}#)
+                           (if #{r 17838}#
+                             (if (null? #{y-pat 17837}#)
+                               (if (null? #{xr* 17836}#)
+                                 (#{match-empty 17626}#
+                                   (vector-ref #{p 17659}# 1)
+                                   #{r 17838}#)
+                                 (#{combine 17627}# #{xr* 17836}# #{r 17838}#))
                                #f)
                              #f)))
-                       (if (eqv? #{atom-key 17675}# 'free-id)
-                         (if (if (symbol? #{e 17661}#)
+                       (if (eqv? #{atom-key 17672}# 'free-id)
+                         (if (if (symbol? #{e 17658}#)
                                #t
-                               (if (if (vector? #{e 17661}#)
-                                     (if (= (vector-length #{e 17661}#) 4)
-                                       (eq? (vector-ref #{e 17661}# 0)
+                               (if (if (vector? #{e 17658}#)
+                                     (if (= (vector-length #{e 17658}#) 4)
+                                       (eq? (vector-ref #{e 17658}# 0)
                                             'syntax-object)
                                        #f)
                                      #f)
-                                 (symbol? (vector-ref #{e 17661}# 1))
+                                 (symbol? (vector-ref #{e 17658}# 1))
                                  #f))
-                           (if (#{free-id=? 4434}#
-                                 (if (if (null? (car #{w 17663}#))
-                                       (null? (cdr #{w 17663}#))
+                           (if (#{free-id=? 4431}#
+                                 (if (if (null? (car #{w 17660}#))
+                                       (null? (cdr #{w 17660}#))
                                        #f)
-                                   #{e 17661}#
-                                   (if (if (vector? #{e 17661}#)
-                                         (if (= (vector-length #{e 17661}#) 4)
-                                           (eq? (vector-ref #{e 17661}# 0)
+                                   #{e 17658}#
+                                   (if (if (vector? #{e 17658}#)
+                                         (if (= (vector-length #{e 17658}#) 4)
+                                           (eq? (vector-ref #{e 17658}# 0)
                                                 'syntax-object)
                                            #f)
                                          #f)
-                                     (let ((#{expression 18272}#
-                                             (vector-ref #{e 17661}# 1))
-                                           (#{wrap 18273}#
-                                             (let ((#{w2 18283}#
+                                     (let ((#{expression 18269}#
+                                             (vector-ref #{e 17658}# 1))
+                                           (#{wrap 18270}#
+                                             (let ((#{w2 18280}#
                                                      (vector-ref
-                                                       #{e 17661}#
+                                                       #{e 17658}#
                                                        2)))
-                                               (let ((#{m1 18284}#
-                                                       (car #{w 17663}#))
-                                                     (#{s1 18285}#
-                                                       (cdr #{w 17663}#)))
-                                                 (if (null? #{m1 18284}#)
-                                                   (if (null? #{s1 18285}#)
-                                                     #{w2 18283}#
-                                                     (cons (car #{w2 18283}#)
-                                                           (let ((#{m2 18302}#
-                                                                   (cdr #{w2 
18283}#)))
-                                                             (if (null? #{m2 
18302}#)
-                                                               #{s1 18285}#
+                                               (let ((#{m1 18281}#
+                                                       (car #{w 17660}#))
+                                                     (#{s1 18282}#
+                                                       (cdr #{w 17660}#)))
+                                                 (if (null? #{m1 18281}#)
+                                                   (if (null? #{s1 18282}#)
+                                                     #{w2 18280}#
+                                                     (cons (car #{w2 18280}#)
+                                                           (let ((#{m2 18299}#
+                                                                   (cdr #{w2 
18280}#)))
+                                                             (if (null? #{m2 
18299}#)
+                                                               #{s1 18282}#
                                                                (append
-                                                                 #{s1 18285}#
-                                                                 #{m2 
18302}#)))))
-                                                   (cons (let ((#{m2 18310}#
-                                                                 (car #{w2 
18283}#)))
-                                                           (if (null? #{m2 
18310}#)
-                                                             #{m1 18284}#
+                                                                 #{s1 18282}#
+                                                                 #{m2 
18299}#)))))
+                                                   (cons (let ((#{m2 18307}#
+                                                                 (car #{w2 
18280}#)))
+                                                           (if (null? #{m2 
18307}#)
+                                                             #{m1 18281}#
                                                              (append
-                                                               #{m1 18284}#
-                                                               #{m2 18310}#)))
-                                                         (let ((#{m2 18318}#
-                                                                 (cdr #{w2 
18283}#)))
-                                                           (if (null? #{m2 
18318}#)
-                                                             #{s1 18285}#
+                                                               #{m1 18281}#
+                                                               #{m2 18307}#)))
+                                                         (let ((#{m2 18315}#
+                                                                 (cdr #{w2 
18280}#)))
+                                                           (if (null? #{m2 
18315}#)
+                                                             #{s1 18282}#
                                                              (append
-                                                               #{s1 18285}#
-                                                               #{m2 
18318}#))))))))
-                                           (#{module 18274}#
-                                             (vector-ref #{e 17661}# 3)))
+                                                               #{s1 18282}#
+                                                               #{m2 
18315}#))))))))
+                                           (#{module 18271}#
+                                             (vector-ref #{e 17658}# 3)))
                                        (vector
                                          'syntax-object
-                                         #{expression 18272}#
-                                         #{wrap 18273}#
-                                         #{module 18274}#))
-                                     (if (null? #{e 17661}#)
-                                       #{e 17661}#
+                                         #{expression 18269}#
+                                         #{wrap 18270}#
+                                         #{module 18271}#))
+                                     (if (null? #{e 17658}#)
+                                       #{e 17658}#
                                        (vector
                                          'syntax-object
-                                         #{e 17661}#
-                                         #{w 17663}#
-                                         #{mod 17665}#))))
-                                 (vector-ref #{p 17662}# 1))
-                             #{r 17664}#
+                                         #{e 17658}#
+                                         #{w 17660}#
+                                         #{mod 17662}#))))
+                                 (vector-ref #{p 17659}# 1))
+                             #{r 17661}#
                              #f)
                            #f)
-                         (if (eqv? #{atom-key 17675}# 'atom)
+                         (if (eqv? #{atom-key 17672}# 'atom)
                            (if (equal?
-                                 (vector-ref #{p 17662}# 1)
-                                 (#{strip 4459}# #{e 17661}# #{w 17663}#))
-                             #{r 17664}#
+                                 (vector-ref #{p 17659}# 1)
+                                 (#{strip 4456}# #{e 17658}# #{w 17660}#))
+                             #{r 17661}#
                              #f)
-                           (if (eqv? #{atom-key 17675}# 'vector)
-                             (if (vector? #{e 17661}#)
-                               (#{match 17632}#
-                                 (vector->list #{e 17661}#)
-                                 (vector-ref #{p 17662}# 1)
-                                 #{w 17663}#
-                                 #{r 17664}#
-                                 #{mod 17665}#)
+                           (if (eqv? #{atom-key 17672}# 'vector)
+                             (if (vector? #{e 17658}#)
+                               (#{match 17629}#
+                                 (vector->list #{e 17658}#)
+                                 (vector-ref #{p 17659}# 1)
+                                 #{w 17660}#
+                                 #{r 17661}#
+                                 #{mod 17662}#)
                                #f))))))))))))
-       (#{match 17632}#
-         (lambda (#{e 18351}#
-                  #{p 18352}#
-                  #{w 18353}#
-                  #{r 18354}#
-                  #{mod 18355}#)
-           (if (not #{r 18354}#)
+       (#{match 17629}#
+         (lambda (#{e 18348}#
+                  #{p 18349}#
+                  #{w 18350}#
+                  #{r 18351}#
+                  #{mod 18352}#)
+           (if (not #{r 18351}#)
              #f
-             (if (eq? #{p 18352}# '_)
-               #{r 18354}#
-               (if (eq? #{p 18352}# 'any)
-                 (cons (if (if (null? (car #{w 18353}#))
-                             (null? (cdr #{w 18353}#))
+             (if (eq? #{p 18349}# '_)
+               #{r 18351}#
+               (if (eq? #{p 18349}# 'any)
+                 (cons (if (if (null? (car #{w 18350}#))
+                             (null? (cdr #{w 18350}#))
                              #f)
-                         #{e 18351}#
-                         (if (if (vector? #{e 18351}#)
-                               (if (= (vector-length #{e 18351}#) 4)
-                                 (eq? (vector-ref #{e 18351}# 0)
+                         #{e 18348}#
+                         (if (if (vector? #{e 18348}#)
+                               (if (= (vector-length #{e 18348}#) 4)
+                                 (eq? (vector-ref #{e 18348}# 0)
                                       'syntax-object)
                                  #f)
                                #f)
-                           (let ((#{expression 18385}#
-                                   (vector-ref #{e 18351}# 1))
-                                 (#{wrap 18386}#
-                                   (let ((#{w2 18396}#
-                                           (vector-ref #{e 18351}# 2)))
-                                     (let ((#{m1 18397}# (car #{w 18353}#))
-                                           (#{s1 18398}# (cdr #{w 18353}#)))
-                                       (if (null? #{m1 18397}#)
-                                         (if (null? #{s1 18398}#)
-                                           #{w2 18396}#
-                                           (cons (car #{w2 18396}#)
-                                                 (let ((#{m2 18415}#
-                                                         (cdr #{w2 18396}#)))
-                                                   (if (null? #{m2 18415}#)
-                                                     #{s1 18398}#
+                           (let ((#{expression 18382}#
+                                   (vector-ref #{e 18348}# 1))
+                                 (#{wrap 18383}#
+                                   (let ((#{w2 18393}#
+                                           (vector-ref #{e 18348}# 2)))
+                                     (let ((#{m1 18394}# (car #{w 18350}#))
+                                           (#{s1 18395}# (cdr #{w 18350}#)))
+                                       (if (null? #{m1 18394}#)
+                                         (if (null? #{s1 18395}#)
+                                           #{w2 18393}#
+                                           (cons (car #{w2 18393}#)
+                                                 (let ((#{m2 18412}#
+                                                         (cdr #{w2 18393}#)))
+                                                   (if (null? #{m2 18412}#)
+                                                     #{s1 18395}#
                                                      (append
-                                                       #{s1 18398}#
-                                                       #{m2 18415}#)))))
-                                         (cons (let ((#{m2 18423}#
-                                                       (car #{w2 18396}#)))
-                                                 (if (null? #{m2 18423}#)
-                                                   #{m1 18397}#
+                                                       #{s1 18395}#
+                                                       #{m2 18412}#)))))
+                                         (cons (let ((#{m2 18420}#
+                                                       (car #{w2 18393}#)))
+                                                 (if (null? #{m2 18420}#)
+                                                   #{m1 18394}#
                                                    (append
-                                                     #{m1 18397}#
-                                                     #{m2 18423}#)))
-                                               (let ((#{m2 18431}#
-                                                       (cdr #{w2 18396}#)))
-                                                 (if (null? #{m2 18431}#)
-                                                   #{s1 18398}#
+                                                     #{m1 18394}#
+                                                     #{m2 18420}#)))
+                                               (let ((#{m2 18428}#
+                                                       (cdr #{w2 18393}#)))
+                                                 (if (null? #{m2 18428}#)
+                                                   #{s1 18395}#
                                                    (append
-                                                     #{s1 18398}#
-                                                     #{m2 18431}#))))))))
-                                 (#{module 18387}# (vector-ref #{e 18351}# 3)))
+                                                     #{s1 18395}#
+                                                     #{m2 18428}#))))))))
+                                 (#{module 18384}# (vector-ref #{e 18348}# 3)))
                              (vector
                                'syntax-object
-                               #{expression 18385}#
-                               #{wrap 18386}#
-                               #{module 18387}#))
-                           (if (null? #{e 18351}#)
-                             #{e 18351}#
+                               #{expression 18382}#
+                               #{wrap 18383}#
+                               #{module 18384}#))
+                           (if (null? #{e 18348}#)
+                             #{e 18348}#
                              (vector
                                'syntax-object
-                               #{e 18351}#
-                               #{w 18353}#
-                               #{mod 18355}#))))
-                       #{r 18354}#)
-                 (if (if (vector? #{e 18351}#)
-                       (if (= (vector-length #{e 18351}#) 4)
-                         (eq? (vector-ref #{e 18351}# 0) 'syntax-object)
+                               #{e 18348}#
+                               #{w 18350}#
+                               #{mod 18352}#))))
+                       #{r 18351}#)
+                 (if (if (vector? #{e 18348}#)
+                       (if (= (vector-length #{e 18348}#) 4)
+                         (eq? (vector-ref #{e 18348}# 0) 'syntax-object)
                          #f)
                        #f)
-                   (#{match* 17631}#
-                     (vector-ref #{e 18351}# 1)
-                     #{p 18352}#
-                     (let ((#{w2 18474}# (vector-ref #{e 18351}# 2)))
-                       (let ((#{m1 18475}# (car #{w 18353}#))
-                             (#{s1 18476}# (cdr #{w 18353}#)))
-                         (if (null? #{m1 18475}#)
-                           (if (null? #{s1 18476}#)
-                             #{w2 18474}#
-                             (cons (car #{w2 18474}#)
-                                   (let ((#{m2 18487}# (cdr #{w2 18474}#)))
-                                     (if (null? #{m2 18487}#)
-                                       #{s1 18476}#
-                                       (append #{s1 18476}# #{m2 18487}#)))))
-                           (cons (let ((#{m2 18495}# (car #{w2 18474}#)))
-                                   (if (null? #{m2 18495}#)
-                                     #{m1 18475}#
-                                     (append #{m1 18475}# #{m2 18495}#)))
-                                 (let ((#{m2 18503}# (cdr #{w2 18474}#)))
-                                   (if (null? #{m2 18503}#)
-                                     #{s1 18476}#
-                                     (append #{s1 18476}# #{m2 18503}#)))))))
-                     #{r 18354}#
-                     (vector-ref #{e 18351}# 3))
-                   (#{match* 17631}#
-                     #{e 18351}#
-                     #{p 18352}#
-                     #{w 18353}#
-                     #{r 18354}#
-                     #{mod 18355}#))))))))
+                   (#{match* 17628}#
+                     (vector-ref #{e 18348}# 1)
+                     #{p 18349}#
+                     (let ((#{w2 18471}# (vector-ref #{e 18348}# 2)))
+                       (let ((#{m1 18472}# (car #{w 18350}#))
+                             (#{s1 18473}# (cdr #{w 18350}#)))
+                         (if (null? #{m1 18472}#)
+                           (if (null? #{s1 18473}#)
+                             #{w2 18471}#
+                             (cons (car #{w2 18471}#)
+                                   (let ((#{m2 18484}# (cdr #{w2 18471}#)))
+                                     (if (null? #{m2 18484}#)
+                                       #{s1 18473}#
+                                       (append #{s1 18473}# #{m2 18484}#)))))
+                           (cons (let ((#{m2 18492}# (car #{w2 18471}#)))
+                                   (if (null? #{m2 18492}#)
+                                     #{m1 18472}#
+                                     (append #{m1 18472}# #{m2 18492}#)))
+                                 (let ((#{m2 18500}# (cdr #{w2 18471}#)))
+                                   (if (null? #{m2 18500}#)
+                                     #{s1 18473}#
+                                     (append #{s1 18473}# #{m2 18500}#)))))))
+                     #{r 18351}#
+                     (vector-ref #{e 18348}# 3))
+                   (#{match* 17628}#
+                     #{e 18348}#
+                     #{p 18349}#
+                     #{w 18350}#
+                     #{r 18351}#
+                     #{mod 18352}#))))))))
       (set! $sc-dispatch
-        (lambda (#{e 17633}# #{p 17634}#)
-          (if (eq? #{p 17634}# 'any)
-            (list #{e 17633}#)
-            (if (eq? #{p 17634}# '_)
+        (lambda (#{e 17630}# #{p 17631}#)
+          (if (eq? #{p 17631}# 'any)
+            (list #{e 17630}#)
+            (if (eq? #{p 17631}# '_)
               '()
-              (if (if (vector? #{e 17633}#)
-                    (if (= (vector-length #{e 17633}#) 4)
-                      (eq? (vector-ref #{e 17633}# 0) 'syntax-object)
+              (if (if (vector? #{e 17630}#)
+                    (if (= (vector-length #{e 17630}#) 4)
+                      (eq? (vector-ref #{e 17630}# 0) 'syntax-object)
                       #f)
                     #f)
-                (#{match* 17631}#
-                  (vector-ref #{e 17633}# 1)
-                  #{p 17634}#
-                  (vector-ref #{e 17633}# 2)
+                (#{match* 17628}#
+                  (vector-ref #{e 17630}# 1)
+                  #{p 17631}#
+                  (vector-ref #{e 17630}# 2)
                   '()
-                  (vector-ref #{e 17633}# 3))
-                (#{match* 17631}#
-                  #{e 17633}#
-                  #{p 17634}#
+                  (vector-ref #{e 17630}# 3))
+                (#{match* 17628}#
+                  #{e 17630}#
+                  #{p 17631}#
                   '(())
                   '()
                   #f)))))))))
@@ -17795,21 +17731,21 @@
   (make-syntax-transformer
     'with-syntax
     'macro
-    (lambda (#{x 36462}#)
-      (let ((#{tmp 36464}#
-              ($sc-dispatch #{x 36462}# '(_ () any . each-any))))
-        (if #{tmp 36464}#
+    (lambda (#{x 36772}#)
+      (let ((#{tmp 36774}#
+              ($sc-dispatch #{x 36772}# '(_ () any . each-any))))
+        (if #{tmp 36774}#
           (@apply
-            (lambda (#{e1 36468}# #{e2 36469}#)
+            (lambda (#{e1 36778}# #{e2 36779}#)
               (cons '#(syntax-object
                        let
                        ((top)
                         #(ribcage
                           #(e1 e2)
                           #((top) (top))
-                          #("i36435" "i36436"))
+                          #("i36745" "i36746"))
                         #(ribcage () () ())
-                        #(ribcage #(x) #((top)) #("i36432"))
+                        #(ribcage #(x) #((top)) #("i36742"))
                         #(ribcage
                           (with-syntax)
                           ((top))
@@ -17820,27 +17756,27 @@
                               ((top))
                               (hygiene guile))))))
                        (hygiene guile))
-                    (cons '() (cons #{e1 36468}# #{e2 36469}#))))
-            #{tmp 36464}#)
-          (let ((#{tmp 36470}#
+                    (cons '() (cons #{e1 36778}# #{e2 36779}#))))
+            #{tmp 36774}#)
+          (let ((#{tmp 36780}#
                   ($sc-dispatch
-                    #{x 36462}#
+                    #{x 36772}#
                     '(_ ((any any)) any . each-any))))
-            (if #{tmp 36470}#
+            (if #{tmp 36780}#
               (@apply
-                (lambda (#{out 36474}#
-                         #{in 36475}#
-                         #{e1 36476}#
-                         #{e2 36477}#)
+                (lambda (#{out 36784}#
+                         #{in 36785}#
+                         #{e1 36786}#
+                         #{e2 36787}#)
                   (list '#(syntax-object
                            syntax-case
                            ((top)
                             #(ribcage
                               #(out in e1 e2)
                               #((top) (top) (top) (top))
-                              #("i36441" "i36442" "i36443" "i36444"))
+                              #("i36751" "i36752" "i36753" "i36754"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i36432"))
+                            #(ribcage #(x) #((top)) #("i36742"))
                             #(ribcage
                               (with-syntax)
                               ((top))
@@ -17851,21 +17787,21 @@
                                   ((top))
                                   (hygiene guile))))))
                            (hygiene guile))
-                        #{in 36475}#
+                        #{in 36785}#
                         '()
-                        (list #{out 36474}#
+                        (list #{out 36784}#
                               (cons '#(syntax-object
                                        let
                                        ((top)
                                         #(ribcage
                                           #(out in e1 e2)
                                           #((top) (top) (top) (top))
-                                          #("i36441"
-                                            "i36442"
-                                            "i36443"
-                                            "i36444"))
+                                          #("i36751"
+                                            "i36752"
+                                            "i36753"
+                                            "i36754"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i36432"))
+                                        #(ribcage #(x) #((top)) #("i36742"))
                                         #(ribcage
                                           (with-syntax)
                                           ((top))
@@ -17877,27 +17813,27 @@
                                               (hygiene guile))))))
                                        (hygiene guile))
                                     (cons '()
-                                          (cons #{e1 36476}# #{e2 36477}#))))))
-                #{tmp 36470}#)
-              (let ((#{tmp 36478}#
+                                          (cons #{e1 36786}# #{e2 36787}#))))))
+                #{tmp 36780}#)
+              (let ((#{tmp 36788}#
                       ($sc-dispatch
-                        #{x 36462}#
+                        #{x 36772}#
                         '(_ #(each (any any)) any . each-any))))
-                (if #{tmp 36478}#
+                (if #{tmp 36788}#
                   (@apply
-                    (lambda (#{out 36482}#
-                             #{in 36483}#
-                             #{e1 36484}#
-                             #{e2 36485}#)
+                    (lambda (#{out 36792}#
+                             #{in 36793}#
+                             #{e1 36794}#
+                             #{e2 36795}#)
                       (list '#(syntax-object
                                syntax-case
                                ((top)
                                 #(ribcage
                                   #(out in e1 e2)
                                   #((top) (top) (top) (top))
-                                  #("i36451" "i36452" "i36453" "i36454"))
+                                  #("i36761" "i36762" "i36763" "i36764"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i36432"))
+                                #(ribcage #(x) #((top)) #("i36742"))
                                 #(ribcage
                                   (with-syntax)
                                   ((top))
@@ -17914,9 +17850,9 @@
                                       #(ribcage
                                         #(out in e1 e2)
                                         #((top) (top) (top) (top))
-                                        #("i36451" "i36452" "i36453" "i36454"))
+                                        #("i36761" "i36762" "i36763" "i36764"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i36432"))
+                                      #(ribcage #(x) #((top)) #("i36742"))
                                       #(ribcage
                                         (with-syntax)
                                         ((top))
@@ -17927,24 +17863,24 @@
                                             ((top))
                                             (hygiene guile))))))
                                      (hygiene guile))
-                                  #{in 36483}#)
+                                  #{in 36793}#)
                             '()
-                            (list #{out 36482}#
+                            (list #{out 36792}#
                                   (cons '#(syntax-object
                                            let
                                            ((top)
                                             #(ribcage
                                               #(out in e1 e2)
                                               #((top) (top) (top) (top))
-                                              #("i36451"
-                                                "i36452"
-                                                "i36453"
-                                                "i36454"))
+                                              #("i36761"
+                                                "i36762"
+                                                "i36763"
+                                                "i36764"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(x)
                                               #((top))
-                                              #("i36432"))
+                                              #("i36742"))
                                             #(ribcage
                                               (with-syntax)
                                               ((top))
@@ -17956,38 +17892,38 @@
                                                   (hygiene guile))))))
                                            (hygiene guile))
                                         (cons '()
-                                              (cons #{e1 36484}#
-                                                    #{e2 36485}#))))))
-                    #{tmp 36478}#)
+                                              (cons #{e1 36794}#
+                                                    #{e2 36795}#))))))
+                    #{tmp 36788}#)
                   (syntax-violation
                     #f
                     "source expression failed to match any pattern"
-                    #{x 36462}#))))))))))
+                    #{x 36772}#))))))))))
 
 (define syntax-rules
   (make-syntax-transformer
     'syntax-rules
     'macro
-    (lambda (#{x 36540}#)
-      (let ((#{tmp 36542}#
+    (lambda (#{x 36850}#)
+      (let ((#{tmp 36852}#
               ($sc-dispatch
-                #{x 36540}#
+                #{x 36850}#
                 '(_ each-any . #(each ((any . any) any))))))
-        (if #{tmp 36542}#
+        (if #{tmp 36852}#
           (@apply
-            (lambda (#{k 36546}#
-                     #{keyword 36547}#
-                     #{pattern 36548}#
-                     #{template 36549}#)
+            (lambda (#{k 36856}#
+                     #{keyword 36857}#
+                     #{pattern 36858}#
+                     #{template 36859}#)
               (list '#(syntax-object
                        lambda
                        ((top)
                         #(ribcage
                           #(k keyword pattern template)
                           #((top) (top) (top) (top))
-                          #("i36503" "i36504" "i36505" "i36506"))
+                          #("i36813" "i36814" "i36815" "i36816"))
                         #(ribcage () () ())
-                        #(ribcage #(x) #((top)) #("i36500"))
+                        #(ribcage #(x) #((top)) #("i36810"))
                         #(ribcage
                           (syntax-rules)
                           ((top))
@@ -18004,9 +17940,9 @@
                          #(ribcage
                            #(k keyword pattern template)
                            #((top) (top) (top) (top))
-                           #("i36503" "i36504" "i36505" "i36506"))
+                           #("i36813" "i36814" "i36815" "i36816"))
                          #(ribcage () () ())
-                         #(ribcage #(x) #((top)) #("i36500"))
+                         #(ribcage #(x) #((top)) #("i36810"))
                          #(ribcage
                            (syntax-rules)
                            ((top))
@@ -18024,9 +17960,9 @@
                            #(ribcage
                              #(k keyword pattern template)
                              #((top) (top) (top) (top))
-                             #("i36503" "i36504" "i36505" "i36506"))
+                             #("i36813" "i36814" "i36815" "i36816"))
                            #(ribcage () () ())
-                           #(ribcage #(x) #((top)) #("i36500"))
+                           #(ribcage #(x) #((top)) #("i36810"))
                            #(ribcage
                              (syntax-rules)
                              ((top))
@@ -18044,9 +17980,9 @@
                            #(ribcage
                              #(k keyword pattern template)
                              #((top) (top) (top) (top))
-                             #("i36503" "i36504" "i36505" "i36506"))
+                             #("i36813" "i36814" "i36815" "i36816"))
                            #(ribcage () () ())
-                           #(ribcage #(x) #((top)) #("i36500"))
+                           #(ribcage #(x) #((top)) #("i36810"))
                            #(ribcage
                              (syntax-rules)
                              ((top))
@@ -18063,9 +17999,9 @@
                                 #(ribcage
                                   #(k keyword pattern template)
                                   #((top) (top) (top) (top))
-                                  #("i36503" "i36504" "i36505" "i36506"))
+                                  #("i36813" "i36814" "i36815" "i36816"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i36500"))
+                                #(ribcage #(x) #((top)) #("i36810"))
                                 #(ribcage
                                   (syntax-rules)
                                   ((top))
@@ -18076,16 +18012,16 @@
                                       ((top))
                                       (hygiene guile))))))
                                (hygiene guile))
-                            #{pattern 36548}#))
+                            #{pattern 36858}#))
                     (cons '#(syntax-object
                              syntax-case
                              ((top)
                               #(ribcage
                                 #(k keyword pattern template)
                                 #((top) (top) (top) (top))
-                                #("i36503" "i36504" "i36505" "i36506"))
+                                #("i36813" "i36814" "i36815" "i36816"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i36500"))
+                              #(ribcage #(x) #((top)) #("i36810"))
                               #(ribcage
                                 (syntax-rules)
                                 ((top))
@@ -18102,9 +18038,9 @@
                                     #(ribcage
                                       #(k keyword pattern template)
                                       #((top) (top) (top) (top))
-                                      #("i36503" "i36504" "i36505" "i36506"))
+                                      #("i36813" "i36814" "i36815" "i36816"))
                                     #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i36500"))
+                                    #(ribcage #(x) #((top)) #("i36810"))
                                     #(ribcage
                                       (syntax-rules)
                                       ((top))
@@ -18115,9 +18051,9 @@
                                           ((top))
                                           (hygiene guile))))))
                                    (hygiene guile))
-                                (cons #{k 36546}#
-                                      (map (lambda (#{tmp 36514 36550}#
-                                                    #{tmp 36513 36551}#)
+                                (cons #{k 36856}#
+                                      (map (lambda (#{tmp 36824 36860}#
+                                                    #{tmp 36823 36861}#)
                                              (list (cons '#(syntax-object
                                                             _
                                                             ((top)
@@ -18130,10 +18066,10 @@
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                               #("i36503"
-                                                                 "i36504"
-                                                                 "i36505"
-                                                                 "i36506"))
+                                                               #("i36813"
+                                                                 "i36814"
+                                                                 "i36815"
+                                                                 "i36816"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -18141,7 +18077,7 @@
                                                              #(ribcage
                                                                #(x)
                                                                #((top))
-                                                               #("i36500"))
+                                                               #("i36810"))
                                                              #(ribcage
                                                                (syntax-rules)
                                                                ((top))
@@ -18154,7 +18090,7 @@
                                                                    (hygiene
                                                                      
guile))))))
                                                             (hygiene guile))
-                                                         #{tmp 36513 36551}#)
+                                                         #{tmp 36823 36861}#)
                                                    (list '#(syntax-object
                                                             syntax
                                                             ((top)
@@ -18167,10 +18103,10 @@
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                               #("i36503"
-                                                                 "i36504"
-                                                                 "i36505"
-                                                                 "i36506"))
+                                                               #("i36813"
+                                                                 "i36814"
+                                                                 "i36815"
+                                                                 "i36816"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -18178,7 +18114,7 @@
                                                              #(ribcage
                                                                #(x)
                                                                #((top))
-                                                               #("i36500"))
+                                                               #("i36810"))
                                                              #(ribcage
                                                                (syntax-rules)
                                                                ((top))
@@ -18191,39 +18127,39 @@
                                                                    (hygiene
                                                                      
guile))))))
                                                             (hygiene guile))
-                                                         #{tmp 36514 36550}#)))
-                                           #{template 36549}#
-                                           #{pattern 36548}#))))))
-            #{tmp 36542}#)
-          (let ((#{tmp 36552}#
+                                                         #{tmp 36824 36860}#)))
+                                           #{template 36859}#
+                                           #{pattern 36858}#))))))
+            #{tmp 36852}#)
+          (let ((#{tmp 36862}#
                   ($sc-dispatch
-                    #{x 36540}#
+                    #{x 36850}#
                     '(_ each-any any . #(each ((any . any) any))))))
-            (if (if #{tmp 36552}#
+            (if (if #{tmp 36862}#
                   (@apply
-                    (lambda (#{k 36556}#
-                             #{docstring 36557}#
-                             #{keyword 36558}#
-                             #{pattern 36559}#
-                             #{template 36560}#)
-                      (string? (syntax->datum #{docstring 36557}#)))
-                    #{tmp 36552}#)
+                    (lambda (#{k 36866}#
+                             #{docstring 36867}#
+                             #{keyword 36868}#
+                             #{pattern 36869}#
+                             #{template 36870}#)
+                      (string? (syntax->datum #{docstring 36867}#)))
+                    #{tmp 36862}#)
                   #f)
               (@apply
-                (lambda (#{k 36561}#
-                         #{docstring 36562}#
-                         #{keyword 36563}#
-                         #{pattern 36564}#
-                         #{template 36565}#)
+                (lambda (#{k 36871}#
+                         #{docstring 36872}#
+                         #{keyword 36873}#
+                         #{pattern 36874}#
+                         #{template 36875}#)
                   (list '#(syntax-object
                            lambda
                            ((top)
                             #(ribcage
                               #(k docstring keyword pattern template)
                               #((top) (top) (top) (top) (top))
-                              #("i36526" "i36527" "i36528" "i36529" "i36530"))
+                              #("i36836" "i36837" "i36838" "i36839" "i36840"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i36500"))
+                            #(ribcage #(x) #((top)) #("i36810"))
                             #(ribcage
                               (syntax-rules)
                               ((top))
@@ -18240,9 +18176,9 @@
                              #(ribcage
                                #(k docstring keyword pattern template)
                                #((top) (top) (top) (top) (top))
-                               #("i36526" "i36527" "i36528" "i36529" "i36530"))
+                               #("i36836" "i36837" "i36838" "i36839" "i36840"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i36500"))
+                             #(ribcage #(x) #((top)) #("i36810"))
                              #(ribcage
                                (syntax-rules)
                                ((top))
@@ -18253,7 +18189,7 @@
                                    ((top))
                                    (hygiene guile))))))
                             (hygiene guile)))
-                        #{docstring 36562}#
+                        #{docstring 36872}#
                         (vector
                           '(#(syntax-object
                               macro-type
@@ -18261,13 +18197,13 @@
                                #(ribcage
                                  #(k docstring keyword pattern template)
                                  #((top) (top) (top) (top) (top))
-                                 #("i36526"
-                                   "i36527"
-                                   "i36528"
-                                   "i36529"
-                                   "i36530"))
+                                 #("i36836"
+                                   "i36837"
+                                   "i36838"
+                                   "i36839"
+                                   "i36840"))
                                #(ribcage () () ())
-                               #(ribcage #(x) #((top)) #("i36500"))
+                               #(ribcage #(x) #((top)) #("i36810"))
                                #(ribcage
                                  (syntax-rules)
                                  ((top))
@@ -18285,13 +18221,13 @@
                                #(ribcage
                                  #(k docstring keyword pattern template)
                                  #((top) (top) (top) (top) (top))
-                                 #("i36526"
-                                   "i36527"
-                                   "i36528"
-                                   "i36529"
-                                   "i36530"))
+                                 #("i36836"
+                                   "i36837"
+                                   "i36838"
+                                   "i36839"
+                                   "i36840"))
                                #(ribcage () () ())
-                               #(ribcage #(x) #((top)) #("i36500"))
+                               #(ribcage #(x) #((top)) #("i36810"))
                                #(ribcage
                                  (syntax-rules)
                                  ((top))
@@ -18308,13 +18244,13 @@
                                     #(ribcage
                                       #(k docstring keyword pattern template)
                                       #((top) (top) (top) (top) (top))
-                                      #("i36526"
-                                        "i36527"
-                                        "i36528"
-                                        "i36529"
-                                        "i36530"))
+                                      #("i36836"
+                                        "i36837"
+                                        "i36838"
+                                        "i36839"
+                                        "i36840"))
                                     #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i36500"))
+                                    #(ribcage #(x) #((top)) #("i36810"))
                                     #(ribcage
                                       (syntax-rules)
                                       ((top))
@@ -18325,20 +18261,20 @@
                                           ((top))
                                           (hygiene guile))))))
                                    (hygiene guile))
-                                #{pattern 36564}#))
+                                #{pattern 36874}#))
                         (cons '#(syntax-object
                                  syntax-case
                                  ((top)
                                   #(ribcage
                                     #(k docstring keyword pattern template)
                                     #((top) (top) (top) (top) (top))
-                                    #("i36526"
-                                      "i36527"
-                                      "i36528"
-                                      "i36529"
-                                      "i36530"))
+                                    #("i36836"
+                                      "i36837"
+                                      "i36838"
+                                      "i36839"
+                                      "i36840"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i36500"))
+                                  #(ribcage #(x) #((top)) #("i36810"))
                                   #(ribcage
                                     (syntax-rules)
                                     ((top))
@@ -18359,13 +18295,13 @@
                                             pattern
                                             template)
                                           #((top) (top) (top) (top) (top))
-                                          #("i36526"
-                                            "i36527"
-                                            "i36528"
-                                            "i36529"
-                                            "i36530"))
+                                          #("i36836"
+                                            "i36837"
+                                            "i36838"
+                                            "i36839"
+                                            "i36840"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i36500"))
+                                        #(ribcage #(x) #((top)) #("i36810"))
                                         #(ribcage
                                           (syntax-rules)
                                           ((top))
@@ -18376,9 +18312,9 @@
                                               ((top))
                                               (hygiene guile))))))
                                        (hygiene guile))
-                                    (cons #{k 36561}#
-                                          (map (lambda (#{tmp 36539 36566}#
-                                                        #{tmp 36538 36567}#)
+                                    (cons #{k 36871}#
+                                          (map (lambda (#{tmp 36849 36876}#
+                                                        #{tmp 36848 36877}#)
                                                  (list (cons '#(syntax-object
                                                                 _
                                                                 ((top)
@@ -18393,11 +18329,11 @@
                                                                      (top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i36526"
-                                                                     "i36527"
-                                                                     "i36528"
-                                                                     "i36529"
-                                                                     "i36530"))
+                                                                   #("i36836"
+                                                                     "i36837"
+                                                                     "i36838"
+                                                                     "i36839"
+                                                                     "i36840"))
                                                                  #(ribcage
                                                                    ()
                                                                    ()
@@ -18405,7 +18341,7 @@
                                                                  #(ribcage
                                                                    #(x)
                                                                    #((top))
-                                                                   #("i36500"))
+                                                                   #("i36810"))
                                                                  #(ribcage
                                                                    
(syntax-rules)
                                                                    ((top))
@@ -18419,7 +18355,7 @@
                                                                          
guile))))))
                                                                 (hygiene
                                                                   guile))
-                                                             #{tmp 36538 
36567}#)
+                                                             #{tmp 36848 
36877}#)
                                                        (list '#(syntax-object
                                                                 syntax
                                                                 ((top)
@@ -18434,11 +18370,11 @@
                                                                      (top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i36526"
-                                                                     "i36527"
-                                                                     "i36528"
-                                                                     "i36529"
-                                                                     "i36530"))
+                                                                   #("i36836"
+                                                                     "i36837"
+                                                                     "i36838"
+                                                                     "i36839"
+                                                                     "i36840"))
                                                                  #(ribcage
                                                                    ()
                                                                    ()
@@ -18446,7 +18382,7 @@
                                                                  #(ribcage
                                                                    #(x)
                                                                    #((top))
-                                                                   #("i36500"))
+                                                                   #("i36810"))
                                                                  #(ribcage
                                                                    
(syntax-rules)
                                                                    ((top))
@@ -18460,36 +18396,36 @@
                                                                          
guile))))))
                                                                 (hygiene
                                                                   guile))
-                                                             #{tmp 36539 
36566}#)))
-                                               #{template 36565}#
-                                               #{pattern 36564}#))))))
-                #{tmp 36552}#)
+                                                             #{tmp 36849 
36876}#)))
+                                               #{template 36875}#
+                                               #{pattern 36874}#))))))
+                #{tmp 36862}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{x 36540}#))))))))
+                #{x 36850}#))))))))
 
 (define define-syntax-rule
   (make-syntax-transformer
     'define-syntax-rule
     'macro
-    (lambda (#{x 36605}#)
-      (let ((#{tmp 36607}#
-              ($sc-dispatch #{x 36605}# '(_ (any . any) any))))
-        (if #{tmp 36607}#
+    (lambda (#{x 36915}#)
+      (let ((#{tmp 36917}#
+              ($sc-dispatch #{x 36915}# '(_ (any . any) any))))
+        (if #{tmp 36917}#
           (@apply
-            (lambda (#{name 36611}#
-                     #{pattern 36612}#
-                     #{template 36613}#)
+            (lambda (#{name 36921}#
+                     #{pattern 36922}#
+                     #{template 36923}#)
               (list '#(syntax-object
                        define-syntax
                        ((top)
                         #(ribcage
                           #(name pattern template)
                           #((top) (top) (top))
-                          #("i36582" "i36583" "i36584"))
+                          #("i36892" "i36893" "i36894"))
                         #(ribcage () () ())
-                        #(ribcage #(x) #((top)) #("i36579"))
+                        #(ribcage #(x) #((top)) #("i36889"))
                         #(ribcage
                           (define-syntax-rule)
                           ((top))
@@ -18500,16 +18436,16 @@
                               ((top))
                               (hygiene guile))))))
                        (hygiene guile))
-                    #{name 36611}#
+                    #{name 36921}#
                     (list '#(syntax-object
                              syntax-rules
                              ((top)
                               #(ribcage
                                 #(name pattern template)
                                 #((top) (top) (top))
-                                #("i36582" "i36583" "i36584"))
+                                #("i36892" "i36893" "i36894"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i36579"))
+                              #(ribcage #(x) #((top)) #("i36889"))
                               #(ribcage
                                 (define-syntax-rule)
                                 ((top))
@@ -18527,9 +18463,9 @@
                                           #(ribcage
                                             #(name pattern template)
                                             #((top) (top) (top))
-                                            #("i36582" "i36583" "i36584"))
+                                            #("i36892" "i36893" "i36894"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i36579"))
+                                          #(ribcage #(x) #((top)) #("i36889"))
                                           #(ribcage
                                             (define-syntax-rule)
                                             ((top))
@@ -18540,36 +18476,36 @@
                                                 ((top))
                                                 (hygiene guile))))))
                                          (hygiene guile))
-                                      #{pattern 36612}#)
-                                #{template 36613}#))))
-            #{tmp 36607}#)
-          (let ((#{tmp 36614}#
+                                      #{pattern 36922}#)
+                                #{template 36923}#))))
+            #{tmp 36917}#)
+          (let ((#{tmp 36924}#
                   ($sc-dispatch
-                    #{x 36605}#
+                    #{x 36915}#
                     '(_ (any . any) any any))))
-            (if (if #{tmp 36614}#
+            (if (if #{tmp 36924}#
                   (@apply
-                    (lambda (#{name 36618}#
-                             #{pattern 36619}#
-                             #{docstring 36620}#
-                             #{template 36621}#)
-                      (string? (syntax->datum #{docstring 36620}#)))
-                    #{tmp 36614}#)
+                    (lambda (#{name 36928}#
+                             #{pattern 36929}#
+                             #{docstring 36930}#
+                             #{template 36931}#)
+                      (string? (syntax->datum #{docstring 36930}#)))
+                    #{tmp 36924}#)
                   #f)
               (@apply
-                (lambda (#{name 36622}#
-                         #{pattern 36623}#
-                         #{docstring 36624}#
-                         #{template 36625}#)
+                (lambda (#{name 36932}#
+                         #{pattern 36933}#
+                         #{docstring 36934}#
+                         #{template 36935}#)
                   (list '#(syntax-object
                            define-syntax
                            ((top)
                             #(ribcage
                               #(name pattern docstring template)
                               #((top) (top) (top) (top))
-                              #("i36597" "i36598" "i36599" "i36600"))
+                              #("i36907" "i36908" "i36909" "i36910"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i36579"))
+                            #(ribcage #(x) #((top)) #("i36889"))
                             #(ribcage
                               (define-syntax-rule)
                               ((top))
@@ -18580,16 +18516,16 @@
                                   ((top))
                                   (hygiene guile))))))
                            (hygiene guile))
-                        #{name 36622}#
+                        #{name 36932}#
                         (list '#(syntax-object
                                  syntax-rules
                                  ((top)
                                   #(ribcage
                                     #(name pattern docstring template)
                                     #((top) (top) (top) (top))
-                                    #("i36597" "i36598" "i36599" "i36600"))
+                                    #("i36907" "i36908" "i36909" "i36910"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i36579"))
+                                  #(ribcage #(x) #((top)) #("i36889"))
                                   #(ribcage
                                     (define-syntax-rule)
                                     ((top))
@@ -18601,7 +18537,7 @@
                                         (hygiene guile))))))
                                  (hygiene guile))
                               '()
-                              #{docstring 36624}#
+                              #{docstring 36934}#
                               (list (cons '#(syntax-object
                                              _
                                              ((top)
@@ -18611,15 +18547,15 @@
                                                   docstring
                                                   template)
                                                 #((top) (top) (top) (top))
-                                                #("i36597"
-                                                  "i36598"
-                                                  "i36599"
-                                                  "i36600"))
+                                                #("i36907"
+                                                  "i36908"
+                                                  "i36909"
+                                                  "i36910"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(x)
                                                 #((top))
-                                                #("i36579"))
+                                                #("i36889"))
                                               #(ribcage
                                                 (define-syntax-rule)
                                                 ((top))
@@ -18630,43 +18566,43 @@
                                                     ((top))
                                                     (hygiene guile))))))
                                              (hygiene guile))
-                                          #{pattern 36623}#)
-                                    #{template 36625}#))))
-                #{tmp 36614}#)
+                                          #{pattern 36933}#)
+                                    #{template 36935}#))))
+                #{tmp 36924}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{x 36605}#))))))))
+                #{x 36915}#))))))))
 
 (define let*
   (make-syntax-transformer
     'let*
     'macro
-    (lambda (#{x 36675}#)
-      (let ((#{tmp 36677}#
+    (lambda (#{x 36985}#)
+      (let ((#{tmp 36987}#
               ($sc-dispatch
-                #{x 36675}#
+                #{x 36985}#
                 '(any #(each (any any)) any . each-any))))
-        (if (if #{tmp 36677}#
+        (if (if #{tmp 36987}#
               (@apply
-                (lambda (#{let* 36681}#
-                         #{x 36682}#
-                         #{v 36683}#
-                         #{e1 36684}#
-                         #{e2 36685}#)
-                  (and-map identifier? #{x 36682}#))
-                #{tmp 36677}#)
+                (lambda (#{let* 36991}#
+                         #{x 36992}#
+                         #{v 36993}#
+                         #{e1 36994}#
+                         #{e2 36995}#)
+                  (and-map identifier? #{x 36992}#))
+                #{tmp 36987}#)
               #f)
           (@apply
-            (lambda (#{let* 36686}#
-                     #{x 36687}#
-                     #{v 36688}#
-                     #{e1 36689}#
-                     #{e2 36690}#)
+            (lambda (#{let* 36996}#
+                     #{x 36997}#
+                     #{v 36998}#
+                     #{e1 36999}#
+                     #{e2 37000}#)
               (letrec*
-                ((#{f 36691}#
-                   (lambda (#{bindings 36694}#)
-                     (if (null? #{bindings 36694}#)
+                ((#{f 37001}#
+                   (lambda (#{bindings 37004}#)
+                     (if (null? #{bindings 37004}#)
                        (cons '#(syntax-object
                                 let
                                 ((top)
@@ -18674,17 +18610,17 @@
                                  #(ribcage
                                    #(f bindings)
                                    #((top) (top))
-                                   #("i36661" "i36662"))
+                                   #("i36971" "i36972"))
                                  #(ribcage
                                    #(let* x v e1 e2)
                                    #((top) (top) (top) (top) (top))
-                                   #("i36651"
-                                     "i36652"
-                                     "i36653"
-                                     "i36654"
-                                     "i36655"))
+                                   #("i36961"
+                                     "i36962"
+                                     "i36963"
+                                     "i36964"
+                                     "i36965"))
                                  #(ribcage () () ())
-                                 #(ribcage #(x) #((top)) #("i36637"))
+                                 #(ribcage #(x) #((top)) #("i36947"))
                                  #(ribcage
                                    (let*)
                                    ((top))
@@ -18695,15 +18631,15 @@
                                        ((top))
                                        (hygiene guile))))))
                                 (hygiene guile))
-                             (cons '() (cons #{e1 36689}# #{e2 36690}#)))
-                       (let ((#{tmp 36695}#
-                               (list (#{f 36691}# (cdr #{bindings 36694}#))
-                                     (car #{bindings 36694}#))))
-                         (let ((#{tmp 36696}#
-                                 ($sc-dispatch #{tmp 36695}# '(any any))))
-                           (if #{tmp 36696}#
+                             (cons '() (cons #{e1 36999}# #{e2 37000}#)))
+                       (let ((#{tmp 37005}#
+                               (list (#{f 37001}# (cdr #{bindings 37004}#))
+                                     (car #{bindings 37004}#))))
+                         (let ((#{tmp 37006}#
+                                 ($sc-dispatch #{tmp 37005}# '(any any))))
+                           (if #{tmp 37006}#
                              (@apply
-                               (lambda (#{body 36698}# #{binding 36699}#)
+                               (lambda (#{body 37008}# #{binding 37009}#)
                                  (list '#(syntax-object
                                           let
                                           ((top)
@@ -18711,22 +18647,22 @@
                                            #(ribcage
                                              #(body binding)
                                              #((top) (top))
-                                             #("i36671" "i36672"))
+                                             #("i36981" "i36982"))
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(f bindings)
                                              #((top) (top))
-                                             #("i36661" "i36662"))
+                                             #("i36971" "i36972"))
                                            #(ribcage
                                              #(let* x v e1 e2)
                                              #((top) (top) (top) (top) (top))
-                                             #("i36651"
-                                               "i36652"
-                                               "i36653"
-                                               "i36654"
-                                               "i36655"))
+                                             #("i36961"
+                                               "i36962"
+                                               "i36963"
+                                               "i36964"
+                                               "i36965"))
                                            #(ribcage () () ())
-                                           #(ribcage #(x) #((top)) #("i36637"))
+                                           #(ribcage #(x) #((top)) #("i36947"))
                                            #(ribcage
                                              (let*)
                                              ((top))
@@ -18737,66 +18673,66 @@
                                                  ((top))
                                                  (hygiene guile))))))
                                           (hygiene guile))
-                                       (list #{binding 36699}#)
-                                       #{body 36698}#))
-                               #{tmp 36696}#)
+                                       (list #{binding 37009}#)
+                                       #{body 37008}#))
+                               #{tmp 37006}#)
                              (syntax-violation
                                #f
                                "source expression failed to match any pattern"
-                               #{tmp 36695}#))))))))
-                (#{f 36691}# (map list #{x 36687}# #{v 36688}#))))
-            #{tmp 36677}#)
+                               #{tmp 37005}#))))))))
+                (#{f 37001}# (map list #{x 36997}# #{v 36998}#))))
+            #{tmp 36987}#)
           (syntax-violation
             #f
             "source expression failed to match any pattern"
-            #{x 36675}#))))))
+            #{x 36985}#))))))
 
 (define do
   (make-syntax-transformer
     'do
     'macro
-    (lambda (#{orig-x 36758}#)
-      (let ((#{tmp 36760}#
+    (lambda (#{orig-x 37068}#)
+      (let ((#{tmp 37070}#
               ($sc-dispatch
-                #{orig-x 36758}#
+                #{orig-x 37068}#
                 '(_ #(each (any any . any))
                     (any . each-any)
                     .
                     each-any))))
-        (if #{tmp 36760}#
+        (if #{tmp 37070}#
           (@apply
-            (lambda (#{var 36764}#
-                     #{init 36765}#
-                     #{step 36766}#
-                     #{e0 36767}#
-                     #{e1 36768}#
-                     #{c 36769}#)
-              (let ((#{tmp 36770}#
-                      (map (lambda (#{v 36773}# #{s 36774}#)
-                             (let ((#{tmp 36776}#
-                                     ($sc-dispatch #{s 36774}# '())))
-                               (if #{tmp 36776}#
-                                 (@apply (lambda () #{v 36773}#) #{tmp 36776}#)
-                                 (let ((#{tmp 36779}#
-                                         ($sc-dispatch #{s 36774}# '(any))))
-                                   (if #{tmp 36779}#
+            (lambda (#{var 37074}#
+                     #{init 37075}#
+                     #{step 37076}#
+                     #{e0 37077}#
+                     #{e1 37078}#
+                     #{c 37079}#)
+              (let ((#{tmp 37080}#
+                      (map (lambda (#{v 37083}# #{s 37084}#)
+                             (let ((#{tmp 37086}#
+                                     ($sc-dispatch #{s 37084}# '())))
+                               (if #{tmp 37086}#
+                                 (@apply (lambda () #{v 37083}#) #{tmp 37086}#)
+                                 (let ((#{tmp 37089}#
+                                         ($sc-dispatch #{s 37084}# '(any))))
+                                   (if #{tmp 37089}#
                                      (@apply
-                                       (lambda (#{e 36782}#) #{e 36782}#)
-                                       #{tmp 36779}#)
+                                       (lambda (#{e 37092}#) #{e 37092}#)
+                                       #{tmp 37089}#)
                                      (syntax-violation
                                        'do
                                        "bad step expression"
-                                       #{orig-x 36758}#
-                                       #{s 36774}#))))))
-                           #{var 36764}#
-                           #{step 36766}#)))
-                (let ((#{tmp 36771}#
-                        ($sc-dispatch #{tmp 36770}# 'each-any)))
-                  (if #{tmp 36771}#
+                                       #{orig-x 37068}#
+                                       #{s 37084}#))))))
+                           #{var 37074}#
+                           #{step 37076}#)))
+                (let ((#{tmp 37081}#
+                        ($sc-dispatch #{tmp 37080}# 'each-any)))
+                  (if #{tmp 37081}#
                     (@apply
-                      (lambda (#{step 36788}#)
-                        (let ((#{tmp 36790}# ($sc-dispatch #{e1 36768}# '())))
-                          (if #{tmp 36790}#
+                      (lambda (#{step 37098}#)
+                        (let ((#{tmp 37100}# ($sc-dispatch #{e1 37078}# '())))
+                          (if #{tmp 37100}#
                             (@apply
                               (lambda ()
                                 (list '#(syntax-object
@@ -18806,7 +18742,7 @@
                                           #(ribcage
                                             #(step)
                                             #((top))
-                                            #("i36726"))
+                                            #("i37036"))
                                           #(ribcage
                                             #(var init step e0 e1 c)
                                             #((top)
@@ -18815,17 +18751,17 @@
                                               (top)
                                               (top)
                                               (top))
-                                            #("i36711"
-                                              "i36712"
-                                              "i36713"
-                                              "i36714"
-                                              "i36715"
-                                              "i36716"))
+                                            #("i37021"
+                                              "i37022"
+                                              "i37023"
+                                              "i37024"
+                                              "i37025"
+                                              "i37026"))
                                           #(ribcage () () ())
                                           #(ribcage
                                             #(orig-x)
                                             #((top))
-                                            #("i36708"))
+                                            #("i37018"))
                                           #(ribcage
                                             (do)
                                             ((top))
@@ -18843,7 +18779,7 @@
                                           #(ribcage
                                             #(step)
                                             #((top))
-                                            #("i36726"))
+                                            #("i37036"))
                                           #(ribcage
                                             #(var init step e0 e1 c)
                                             #((top)
@@ -18852,17 +18788,17 @@
                                               (top)
                                               (top)
                                               (top))
-                                            #("i36711"
-                                              "i36712"
-                                              "i36713"
-                                              "i36714"
-                                              "i36715"
-                                              "i36716"))
+                                            #("i37021"
+                                              "i37022"
+                                              "i37023"
+                                              "i37024"
+                                              "i37025"
+                                              "i37026"))
                                           #(ribcage () () ())
                                           #(ribcage
                                             #(orig-x)
                                             #((top))
-                                            #("i36708"))
+                                            #("i37018"))
                                           #(ribcage
                                             (do)
                                             ((top))
@@ -18873,7 +18809,7 @@
                                                 ((top))
                                                 (hygiene guile))))))
                                          (hygiene guile))
-                                      (map list #{var 36764}# #{init 36765}#)
+                                      (map list #{var 37074}# #{init 37075}#)
                                       (list '#(syntax-object
                                                if
                                                ((top)
@@ -18881,7 +18817,7 @@
                                                 #(ribcage
                                                   #(step)
                                                   #((top))
-                                                  #("i36726"))
+                                                  #("i37036"))
                                                 #(ribcage
                                                   #(var init step e0 e1 c)
                                                   #((top)
@@ -18890,17 +18826,17 @@
                                                     (top)
                                                     (top)
                                                     (top))
-                                                  #("i36711"
-                                                    "i36712"
-                                                    "i36713"
-                                                    "i36714"
-                                                    "i36715"
-                                                    "i36716"))
+                                                  #("i37021"
+                                                    "i37022"
+                                                    "i37023"
+                                                    "i37024"
+                                                    "i37025"
+                                                    "i37026"))
                                                 #(ribcage () () ())
                                                 #(ribcage
                                                   #(orig-x)
                                                   #((top))
-                                                  #("i36708"))
+                                                  #("i37018"))
                                                 #(ribcage
                                                   (do)
                                                   ((top))
@@ -18918,7 +18854,7 @@
                                                       #(ribcage
                                                         #(step)
                                                         #((top))
-                                                        #("i36726"))
+                                                        #("i37036"))
                                                       #(ribcage
                                                         #(var
                                                           init
@@ -18932,17 +18868,17 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i36711"
-                                                          "i36712"
-                                                          "i36713"
-                                                          "i36714"
-                                                          "i36715"
-                                                          "i36716"))
+                                                        #("i37021"
+                                                          "i37022"
+                                                          "i37023"
+                                                          "i37024"
+                                                          "i37025"
+                                                          "i37026"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(orig-x)
                                                         #((top))
-                                                        #("i36708"))
+                                                        #("i37018"))
                                                       #(ribcage
                                                         (do)
                                                         ((top))
@@ -18954,7 +18890,7 @@
                                                             (hygiene
                                                               guile))))))
                                                      (hygiene guile))
-                                                  #{e0 36767}#)
+                                                  #{e0 37077}#)
                                             (cons '#(syntax-object
                                                      begin
                                                      ((top)
@@ -18962,7 +18898,7 @@
                                                       #(ribcage
                                                         #(step)
                                                         #((top))
-                                                        #("i36726"))
+                                                        #("i37036"))
                                                       #(ribcage
                                                         #(var
                                                           init
@@ -18976,17 +18912,17 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i36711"
-                                                          "i36712"
-                                                          "i36713"
-                                                          "i36714"
-                                                          "i36715"
-                                                          "i36716"))
+                                                        #("i37021"
+                                                          "i37022"
+                                                          "i37023"
+                                                          "i37024"
+                                                          "i37025"
+                                                          "i37026"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(orig-x)
                                                         #((top))
-                                                        #("i36708"))
+                                                        #("i37018"))
                                                       #(ribcage
                                                         (do)
                                                         ((top))
@@ -18999,7 +18935,7 @@
                                                               guile))))))
                                                      (hygiene guile))
                                                   (append
-                                                    #{c 36769}#
+                                                    #{c 37079}#
                                                     (list (cons 
'#(syntax-object
                                                                    doloop
                                                                    ((top)
@@ -19010,7 +18946,7 @@
                                                                     #(ribcage
                                                                       #(step)
                                                                       #((top))
-                                                                      
#("i36726"))
+                                                                      
#("i37036"))
                                                                     #(ribcage
                                                                       #(var
                                                                         init
@@ -19024,12 +18960,12 @@
                                                                         (top)
                                                                         (top)
                                                                         (top))
-                                                                      
#("i36711"
-                                                                        
"i36712"
-                                                                        
"i36713"
-                                                                        
"i36714"
-                                                                        
"i36715"
-                                                                        
"i36716"))
+                                                                      
#("i37021"
+                                                                        
"i37022"
+                                                                        
"i37023"
+                                                                        
"i37024"
+                                                                        
"i37025"
+                                                                        
"i37026"))
                                                                     #(ribcage
                                                                       ()
                                                                       ()
@@ -19037,7 +18973,7 @@
                                                                     #(ribcage
                                                                       #(orig-x)
                                                                       #((top))
-                                                                      
#("i36708"))
+                                                                      
#("i37018"))
                                                                     #(ribcage
                                                                       (do)
                                                                       ((top))
@@ -19051,27 +18987,27 @@
                                                                             
guile))))))
                                                                    (hygiene
                                                                      guile))
-                                                                #{step 
36788}#)))))))
-                              #{tmp 36790}#)
-                            (let ((#{tmp 36794}#
+                                                                #{step 
37098}#)))))))
+                              #{tmp 37100}#)
+                            (let ((#{tmp 37104}#
                                     ($sc-dispatch
-                                      #{e1 36768}#
+                                      #{e1 37078}#
                                       '(any . each-any))))
-                              (if #{tmp 36794}#
+                              (if #{tmp 37104}#
                                 (@apply
-                                  (lambda (#{e1 36798}# #{e2 36799}#)
+                                  (lambda (#{e1 37108}# #{e2 37109}#)
                                     (list '#(syntax-object
                                              let
                                              ((top)
                                               #(ribcage
                                                 #(e1 e2)
                                                 #((top) (top))
-                                                #("i36735" "i36736"))
+                                                #("i37045" "i37046"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(step)
                                                 #((top))
-                                                #("i36726"))
+                                                #("i37036"))
                                               #(ribcage
                                                 #(var init step e0 e1 c)
                                                 #((top)
@@ -19080,17 +19016,17 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                #("i36711"
-                                                  "i36712"
-                                                  "i36713"
-                                                  "i36714"
-                                                  "i36715"
-                                                  "i36716"))
+                                                #("i37021"
+                                                  "i37022"
+                                                  "i37023"
+                                                  "i37024"
+                                                  "i37025"
+                                                  "i37026"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(orig-x)
                                                 #((top))
-                                                #("i36708"))
+                                                #("i37018"))
                                               #(ribcage
                                                 (do)
                                                 ((top))
@@ -19107,12 +19043,12 @@
                                               #(ribcage
                                                 #(e1 e2)
                                                 #((top) (top))
-                                                #("i36735" "i36736"))
+                                                #("i37045" "i37046"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(step)
                                                 #((top))
-                                                #("i36726"))
+                                                #("i37036"))
                                               #(ribcage
                                                 #(var init step e0 e1 c)
                                                 #((top)
@@ -19121,17 +19057,17 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                #("i36711"
-                                                  "i36712"
-                                                  "i36713"
-                                                  "i36714"
-                                                  "i36715"
-                                                  "i36716"))
+                                                #("i37021"
+                                                  "i37022"
+                                                  "i37023"
+                                                  "i37024"
+                                                  "i37025"
+                                                  "i37026"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(orig-x)
                                                 #((top))
-                                                #("i36708"))
+                                                #("i37018"))
                                               #(ribcage
                                                 (do)
                                                 ((top))
@@ -19143,20 +19079,20 @@
                                                     (hygiene guile))))))
                                              (hygiene guile))
                                           (map list
-                                               #{var 36764}#
-                                               #{init 36765}#)
+                                               #{var 37074}#
+                                               #{init 37075}#)
                                           (list '#(syntax-object
                                                    if
                                                    ((top)
                                                     #(ribcage
                                                       #(e1 e2)
                                                       #((top) (top))
-                                                      #("i36735" "i36736"))
+                                                      #("i37045" "i37046"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(step)
                                                       #((top))
-                                                      #("i36726"))
+                                                      #("i37036"))
                                                     #(ribcage
                                                       #(var init step e0 e1 c)
                                                       #((top)
@@ -19165,17 +19101,17 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i36711"
-                                                        "i36712"
-                                                        "i36713"
-                                                        "i36714"
-                                                        "i36715"
-                                                        "i36716"))
+                                                      #("i37021"
+                                                        "i37022"
+                                                        "i37023"
+                                                        "i37024"
+                                                        "i37025"
+                                                        "i37026"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(orig-x)
                                                       #((top))
-                                                      #("i36708"))
+                                                      #("i37018"))
                                                     #(ribcage
                                                       (do)
                                                       ((top))
@@ -19186,20 +19122,20 @@
                                                           ((top))
                                                           (hygiene guile))))))
                                                    (hygiene guile))
-                                                #{e0 36767}#
+                                                #{e0 37077}#
                                                 (cons '#(syntax-object
                                                          begin
                                                          ((top)
                                                           #(ribcage
                                                             #(e1 e2)
                                                             #((top) (top))
-                                                            #("i36735"
-                                                              "i36736"))
+                                                            #("i37045"
+                                                              "i37046"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(step)
                                                             #((top))
-                                                            #("i36726"))
+                                                            #("i37036"))
                                                           #(ribcage
                                                             #(var
                                                               init
@@ -19213,17 +19149,17 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i36711"
-                                                              "i36712"
-                                                              "i36713"
-                                                              "i36714"
-                                                              "i36715"
-                                                              "i36716"))
+                                                            #("i37021"
+                                                              "i37022"
+                                                              "i37023"
+                                                              "i37024"
+                                                              "i37025"
+                                                              "i37026"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(orig-x)
                                                             #((top))
-                                                            #("i36708"))
+                                                            #("i37018"))
                                                           #(ribcage
                                                             (do)
                                                             ((top))
@@ -19235,21 +19171,21 @@
                                                                 (hygiene
                                                                   guile))))))
                                                          (hygiene guile))
-                                                      (cons #{e1 36798}#
-                                                            #{e2 36799}#))
+                                                      (cons #{e1 37108}#
+                                                            #{e2 37109}#))
                                                 (cons '#(syntax-object
                                                          begin
                                                          ((top)
                                                           #(ribcage
                                                             #(e1 e2)
                                                             #((top) (top))
-                                                            #("i36735"
-                                                              "i36736"))
+                                                            #("i37045"
+                                                              "i37046"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(step)
                                                             #((top))
-                                                            #("i36726"))
+                                                            #("i37036"))
                                                           #(ribcage
                                                             #(var
                                                               init
@@ -19263,17 +19199,17 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i36711"
-                                                              "i36712"
-                                                              "i36713"
-                                                              "i36714"
-                                                              "i36715"
-                                                              "i36716"))
+                                                            #("i37021"
+                                                              "i37022"
+                                                              "i37023"
+                                                              "i37024"
+                                                              "i37025"
+                                                              "i37026"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(orig-x)
                                                             #((top))
-                                                            #("i36708"))
+                                                            #("i37018"))
                                                           #(ribcage
                                                             (do)
                                                             ((top))
@@ -19286,7 +19222,7 @@
                                                                   guile))))))
                                                          (hygiene guile))
                                                       (append
-                                                        #{c 36769}#
+                                                        #{c 37079}#
                                                         (list (cons 
'#(syntax-object
                                                                        doloop
                                                                        ((top)
@@ -19295,8 +19231,8 @@
                                                                             e2)
                                                                           
#((top)
                                                                             
(top))
-                                                                          
#("i36735"
-                                                                            
"i36736"))
+                                                                          
#("i37045"
+                                                                            
"i37046"))
                                                                         
#(ribcage
                                                                           ()
                                                                           ()
@@ -19304,7 +19240,7 @@
                                                                         
#(ribcage
                                                                           
#(step)
                                                                           
#((top))
-                                                                          
#("i36726"))
+                                                                          
#("i37036"))
                                                                         
#(ribcage
                                                                           #(var
                                                                             
init
@@ -19318,12 +19254,12 @@
                                                                             
(top)
                                                                             
(top)
                                                                             
(top))
-                                                                          
#("i36711"
-                                                                            
"i36712"
-                                                                            
"i36713"
-                                                                            
"i36714"
-                                                                            
"i36715"
-                                                                            
"i36716"))
+                                                                          
#("i37021"
+                                                                            
"i37022"
+                                                                            
"i37023"
+                                                                            
"i37024"
+                                                                            
"i37025"
+                                                                            
"i37026"))
                                                                         
#(ribcage
                                                                           ()
                                                                           ()
@@ -19331,7 +19267,7 @@
                                                                         
#(ribcage
                                                                           
#(orig-x)
                                                                           
#((top))
-                                                                          
#("i36708"))
+                                                                          
#("i37018"))
                                                                         
#(ribcage
                                                                           (do)
                                                                           
((top))
@@ -19345,33 +19281,33 @@
                                                                                
 guile))))))
                                                                        (hygiene
                                                                          
guile))
-                                                                    #{step 
36788}#)))))))
-                                  #{tmp 36794}#)
+                                                                    #{step 
37098}#)))))))
+                                  #{tmp 37104}#)
                                 (syntax-violation
                                   #f
                                   "source expression failed to match any 
pattern"
-                                  #{e1 36768}#))))))
-                      #{tmp 36771}#)
+                                  #{e1 37078}#))))))
+                      #{tmp 37081}#)
                     (syntax-violation
                       #f
                       "source expression failed to match any pattern"
-                      #{tmp 36770}#)))))
-            #{tmp 36760}#)
+                      #{tmp 37080}#)))))
+            #{tmp 37070}#)
           (syntax-violation
             #f
             "source expression failed to match any pattern"
-            #{orig-x 36758}#))))))
+            #{orig-x 37068}#))))))
 
 (define quasiquote
   (make-syntax-transformer
     'quasiquote
     'macro
     (letrec*
-      ((#{quasi 37086}#
-         (lambda (#{p 37110}# #{lev 37111}#)
-           (let ((#{tmp 37113}#
+      ((#{quasi 37396}#
+         (lambda (#{p 37420}# #{lev 37421}#)
+           (let ((#{tmp 37423}#
                    ($sc-dispatch
-                     #{p 37110}#
+                     #{p 37420}#
                      '(#(free-id
                          #(syntax-object
                            unquote
@@ -19380,7 +19316,7 @@
                             #(ribcage
                               #(p lev)
                               #((top) (top))
-                              #("i36832" "i36833"))
+                              #("i37142" "i37143"))
                             #(ribcage
                               (emit quasivector
                                     quasilist*
@@ -19389,13 +19325,13 @@
                                     vquasi
                                     quasi)
                               ((top) (top) (top) (top) (top) (top) (top))
-                              ("i36828"
-                               "i36826"
-                               "i36824"
-                               "i36822"
-                               "i36820"
-                               "i36818"
-                               "i36816"))
+                              ("i37138"
+                               "i37136"
+                               "i37134"
+                               "i37132"
+                               "i37130"
+                               "i37128"
+                               "i37126"))
                             #(ribcage
                               (quasiquote)
                               ((top))
@@ -19407,19 +19343,19 @@
                                   (hygiene guile))))))
                            (hygiene guile)))
                        any))))
-             (if #{tmp 37113}#
+             (if #{tmp 37423}#
                (@apply
-                 (lambda (#{p 37117}#)
-                   (if (= #{lev 37111}# 0)
+                 (lambda (#{p 37427}#)
+                   (if (= #{lev 37421}# 0)
                      (list '#(syntax-object
                               "value"
                               ((top)
-                               #(ribcage #(p) #((top)) #("i36836"))
+                               #(ribcage #(p) #((top)) #("i37146"))
                                #(ribcage () () ())
                                #(ribcage
                                  #(p lev)
                                  #((top) (top))
-                                 #("i36832" "i36833"))
+                                 #("i37142" "i37143"))
                                #(ribcage
                                  (emit quasivector
                                        quasilist*
@@ -19428,13 +19364,13 @@
                                        vquasi
                                        quasi)
                                  ((top) (top) (top) (top) (top) (top) (top))
-                                 ("i36828"
-                                  "i36826"
-                                  "i36824"
-                                  "i36822"
-                                  "i36820"
-                                  "i36818"
-                                  "i36816"))
+                                 ("i37138"
+                                  "i37136"
+                                  "i37134"
+                                  "i37132"
+                                  "i37130"
+                                  "i37128"
+                                  "i37126"))
                                #(ribcage
                                  (quasiquote)
                                  ((top))
@@ -19445,17 +19381,17 @@
                                      ((top))
                                      (hygiene guile))))))
                               (hygiene guile))
-                           #{p 37117}#)
-                     (#{quasicons 37088}#
+                           #{p 37427}#)
+                     (#{quasicons 37398}#
                        '(#(syntax-object
                            "quote"
                            ((top)
-                            #(ribcage #(p) #((top)) #("i36836"))
+                            #(ribcage #(p) #((top)) #("i37146"))
                             #(ribcage () () ())
                             #(ribcage
                               #(p lev)
                               #((top) (top))
-                              #("i36832" "i36833"))
+                              #("i37142" "i37143"))
                             #(ribcage
                               (emit quasivector
                                     quasilist*
@@ -19464,13 +19400,13 @@
                                     vquasi
                                     quasi)
                               ((top) (top) (top) (top) (top) (top) (top))
-                              ("i36828"
-                               "i36826"
-                               "i36824"
-                               "i36822"
-                               "i36820"
-                               "i36818"
-                               "i36816"))
+                              ("i37138"
+                               "i37136"
+                               "i37134"
+                               "i37132"
+                               "i37130"
+                               "i37128"
+                               "i37126"))
                             #(ribcage
                               (quasiquote)
                               ((top))
@@ -19484,12 +19420,12 @@
                          #(syntax-object
                            unquote
                            ((top)
-                            #(ribcage #(p) #((top)) #("i36836"))
+                            #(ribcage #(p) #((top)) #("i37146"))
                             #(ribcage () () ())
                             #(ribcage
                               #(p lev)
                               #((top) (top))
-                              #("i36832" "i36833"))
+                              #("i37142" "i37143"))
                             #(ribcage
                               (emit quasivector
                                     quasilist*
@@ -19498,13 +19434,13 @@
                                     vquasi
                                     quasi)
                               ((top) (top) (top) (top) (top) (top) (top))
-                              ("i36828"
-                               "i36826"
-                               "i36824"
-                               "i36822"
-                               "i36820"
-                               "i36818"
-                               "i36816"))
+                              ("i37138"
+                               "i37136"
+                               "i37134"
+                               "i37132"
+                               "i37130"
+                               "i37128"
+                               "i37126"))
                             #(ribcage
                               (quasiquote)
                               ((top))
@@ -19515,13 +19451,13 @@
                                   ((top))
                                   (hygiene guile))))))
                            (hygiene guile)))
-                       (#{quasi 37086}#
-                         (list #{p 37117}#)
-                         (#{1-}# #{lev 37111}#)))))
-                 #{tmp 37113}#)
-               (let ((#{tmp 37120}#
+                       (#{quasi 37396}#
+                         (list #{p 37427}#)
+                         (#{1-}# #{lev 37421}#)))))
+                 #{tmp 37423}#)
+               (let ((#{tmp 37430}#
                        ($sc-dispatch
-                         #{p 37110}#
+                         #{p 37420}#
                          '(#(free-id
                              #(syntax-object
                                quasiquote
@@ -19530,7 +19466,7 @@
                                 #(ribcage
                                   #(p lev)
                                   #((top) (top))
-                                  #("i36832" "i36833"))
+                                  #("i37142" "i37143"))
                                 #(ribcage
                                   (emit quasivector
                                         quasilist*
@@ -19539,13 +19475,13 @@
                                         vquasi
                                         quasi)
                                   ((top) (top) (top) (top) (top) (top) (top))
-                                  ("i36828"
-                                   "i36826"
-                                   "i36824"
-                                   "i36822"
-                                   "i36820"
-                                   "i36818"
-                                   "i36816"))
+                                  ("i37138"
+                                   "i37136"
+                                   "i37134"
+                                   "i37132"
+                                   "i37130"
+                                   "i37128"
+                                   "i37126"))
                                 #(ribcage
                                   (quasiquote)
                                   ((top))
@@ -19557,19 +19493,19 @@
                                       (hygiene guile))))))
                                (hygiene guile)))
                            any))))
-                 (if #{tmp 37120}#
+                 (if #{tmp 37430}#
                    (@apply
-                     (lambda (#{p 37124}#)
-                       (#{quasicons 37088}#
+                     (lambda (#{p 37434}#)
+                       (#{quasicons 37398}#
                          '(#(syntax-object
                              "quote"
                              ((top)
-                              #(ribcage #(p) #((top)) #("i36839"))
+                              #(ribcage #(p) #((top)) #("i37149"))
                               #(ribcage () () ())
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i36832" "i36833"))
+                                #("i37142" "i37143"))
                               #(ribcage
                                 (emit quasivector
                                       quasilist*
@@ -19578,13 +19514,13 @@
                                       vquasi
                                       quasi)
                                 ((top) (top) (top) (top) (top) (top) (top))
-                                ("i36828"
-                                 "i36826"
-                                 "i36824"
-                                 "i36822"
-                                 "i36820"
-                                 "i36818"
-                                 "i36816"))
+                                ("i37138"
+                                 "i37136"
+                                 "i37134"
+                                 "i37132"
+                                 "i37130"
+                                 "i37128"
+                                 "i37126"))
                               #(ribcage
                                 (quasiquote)
                                 ((top))
@@ -19598,12 +19534,12 @@
                            #(syntax-object
                              quasiquote
                              ((top)
-                              #(ribcage #(p) #((top)) #("i36839"))
+                              #(ribcage #(p) #((top)) #("i37149"))
                               #(ribcage () () ())
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i36832" "i36833"))
+                                #("i37142" "i37143"))
                               #(ribcage
                                 (emit quasivector
                                       quasilist*
@@ -19612,13 +19548,13 @@
                                       vquasi
                                       quasi)
                                 ((top) (top) (top) (top) (top) (top) (top))
-                                ("i36828"
-                                 "i36826"
-                                 "i36824"
-                                 "i36822"
-                                 "i36820"
-                                 "i36818"
-                                 "i36816"))
+                                ("i37138"
+                                 "i37136"
+                                 "i37134"
+                                 "i37132"
+                                 "i37130"
+                                 "i37128"
+                                 "i37126"))
                               #(ribcage
                                 (quasiquote)
                                 ((top))
@@ -19629,18 +19565,18 @@
                                     ((top))
                                     (hygiene guile))))))
                              (hygiene guile)))
-                         (#{quasi 37086}#
-                           (list #{p 37124}#)
-                           (#{1+}# #{lev 37111}#))))
-                     #{tmp 37120}#)
-                   (let ((#{tmp 37127}#
-                           ($sc-dispatch #{p 37110}# '(any . any))))
-                     (if #{tmp 37127}#
+                         (#{quasi 37396}#
+                           (list #{p 37434}#)
+                           (#{1+}# #{lev 37421}#))))
+                     #{tmp 37430}#)
+                   (let ((#{tmp 37437}#
+                           ($sc-dispatch #{p 37420}# '(any . any))))
+                     (if #{tmp 37437}#
                        (@apply
-                         (lambda (#{p 37131}# #{q 37132}#)
-                           (let ((#{tmp 37134}#
+                         (lambda (#{p 37441}# #{q 37442}#)
+                           (let ((#{tmp 37444}#
                                    ($sc-dispatch
-                                     #{p 37131}#
+                                     #{p 37441}#
                                      '(#(free-id
                                          #(syntax-object
                                            unquote
@@ -19648,12 +19584,12 @@
                                             #(ribcage
                                               #(p q)
                                               #((top) (top))
-                                              #("i36842" "i36843"))
+                                              #("i37152" "i37153"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(p lev)
                                               #((top) (top))
-                                              #("i36832" "i36833"))
+                                              #("i37142" "i37143"))
                                             #(ribcage
                                               (emit quasivector
                                                     quasilist*
@@ -19668,13 +19604,13 @@
                                                (top)
                                                (top)
                                                (top))
-                                              ("i36828"
-                                               "i36826"
-                                               "i36824"
-                                               "i36822"
-                                               "i36820"
-                                               "i36818"
-                                               "i36816"))
+                                              ("i37138"
+                                               "i37136"
+                                               "i37134"
+                                               "i37132"
+                                               "i37130"
+                                               "i37128"
+                                               "i37126"))
                                             #(ribcage
                                               (quasiquote)
                                               ((top))
@@ -19687,28 +19623,28 @@
                                            (hygiene guile)))
                                        .
                                        each-any))))
-                             (if #{tmp 37134}#
+                             (if #{tmp 37444}#
                                (@apply
-                                 (lambda (#{p 37138}#)
-                                   (if (= #{lev 37111}# 0)
-                                     (#{quasilist* 37090}#
-                                       (map (lambda (#{tmp 36850 37177}#)
+                                 (lambda (#{p 37448}#)
+                                   (if (= #{lev 37421}# 0)
+                                     (#{quasilist* 37400}#
+                                       (map (lambda (#{tmp 37160 37487}#)
                                               (list '#(syntax-object
                                                        "value"
                                                        ((top)
                                                         #(ribcage
                                                           #(p)
                                                           #((top))
-                                                          #("i36848"))
+                                                          #("i37158"))
                                                         #(ribcage
                                                           #(p q)
                                                           #((top) (top))
-                                                          #("i36842" "i36843"))
+                                                          #("i37152" "i37153"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(p lev)
                                                           #((top) (top))
-                                                          #("i36832" "i36833"))
+                                                          #("i37142" "i37143"))
                                                         #(ribcage
                                                           (emit quasivector
                                                                 quasilist*
@@ -19723,13 +19659,13 @@
                                                            (top)
                                                            (top)
                                                            (top))
-                                                          ("i36828"
-                                                           "i36826"
-                                                           "i36824"
-                                                           "i36822"
-                                                           "i36820"
-                                                           "i36818"
-                                                           "i36816"))
+                                                          ("i37138"
+                                                           "i37136"
+                                                           "i37134"
+                                                           "i37132"
+                                                           "i37130"
+                                                           "i37128"
+                                                           "i37126"))
                                                         #(ribcage
                                                           (quasiquote)
                                                           ((top))
@@ -19741,29 +19677,29 @@
                                                               (hygiene
                                                                 guile))))))
                                                        (hygiene guile))
-                                                    #{tmp 36850 37177}#))
-                                            #{p 37138}#)
-                                       (#{quasi 37086}#
-                                         #{q 37132}#
-                                         #{lev 37111}#))
-                                     (#{quasicons 37088}#
-                                       (#{quasicons 37088}#
+                                                    #{tmp 37160 37487}#))
+                                            #{p 37448}#)
+                                       (#{quasi 37396}#
+                                         #{q 37442}#
+                                         #{lev 37421}#))
+                                     (#{quasicons 37398}#
+                                       (#{quasicons 37398}#
                                          '(#(syntax-object
                                              "quote"
                                              ((top)
                                               #(ribcage
                                                 #(p)
                                                 #((top))
-                                                #("i36848"))
+                                                #("i37158"))
                                               #(ribcage
                                                 #(p q)
                                                 #((top) (top))
-                                                #("i36842" "i36843"))
+                                                #("i37152" "i37153"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(p lev)
                                                 #((top) (top))
-                                                #("i36832" "i36833"))
+                                                #("i37142" "i37143"))
                                               #(ribcage
                                                 (emit quasivector
                                                       quasilist*
@@ -19778,13 +19714,13 @@
                                                  (top)
                                                  (top)
                                                  (top))
-                                                ("i36828"
-                                                 "i36826"
-                                                 "i36824"
-                                                 "i36822"
-                                                 "i36820"
-                                                 "i36818"
-                                                 "i36816"))
+                                                ("i37138"
+                                                 "i37136"
+                                                 "i37134"
+                                                 "i37132"
+                                                 "i37130"
+                                                 "i37128"
+                                                 "i37126"))
                                               #(ribcage
                                                 (quasiquote)
                                                 ((top))
@@ -19801,16 +19737,16 @@
                                               #(ribcage
                                                 #(p)
                                                 #((top))
-                                                #("i36848"))
+                                                #("i37158"))
                                               #(ribcage
                                                 #(p q)
                                                 #((top) (top))
-                                                #("i36842" "i36843"))
+                                                #("i37152" "i37153"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(p lev)
                                                 #((top) (top))
-                                                #("i36832" "i36833"))
+                                                #("i37142" "i37143"))
                                               #(ribcage
                                                 (emit quasivector
                                                       quasilist*
@@ -19825,13 +19761,13 @@
                                                  (top)
                                                  (top)
                                                  (top))
-                                                ("i36828"
-                                                 "i36826"
-                                                 "i36824"
-                                                 "i36822"
-                                                 "i36820"
-                                                 "i36818"
-                                                 "i36816"))
+                                                ("i37138"
+                                                 "i37136"
+                                                 "i37134"
+                                                 "i37132"
+                                                 "i37130"
+                                                 "i37128"
+                                                 "i37126"))
                                               #(ribcage
                                                 (quasiquote)
                                                 ((top))
@@ -19842,16 +19778,16 @@
                                                     ((top))
                                                     (hygiene guile))))))
                                              (hygiene guile)))
-                                         (#{quasi 37086}#
-                                           #{p 37138}#
-                                           (#{1-}# #{lev 37111}#)))
-                                       (#{quasi 37086}#
-                                         #{q 37132}#
-                                         #{lev 37111}#))))
-                                 #{tmp 37134}#)
-                               (let ((#{tmp 37182}#
+                                         (#{quasi 37396}#
+                                           #{p 37448}#
+                                           (#{1-}# #{lev 37421}#)))
+                                       (#{quasi 37396}#
+                                         #{q 37442}#
+                                         #{lev 37421}#))))
+                                 #{tmp 37444}#)
+                               (let ((#{tmp 37492}#
                                        ($sc-dispatch
-                                         #{p 37131}#
+                                         #{p 37441}#
                                          '(#(free-id
                                              #(syntax-object
                                                unquote-splicing
@@ -19859,12 +19795,12 @@
                                                 #(ribcage
                                                   #(p q)
                                                   #((top) (top))
-                                                  #("i36842" "i36843"))
+                                                  #("i37152" "i37153"))
                                                 #(ribcage () () ())
                                                 #(ribcage
                                                   #(p lev)
                                                   #((top) (top))
-                                                  #("i36832" "i36833"))
+                                                  #("i37142" "i37143"))
                                                 #(ribcage
                                                   (emit quasivector
                                                         quasilist*
@@ -19879,13 +19815,13 @@
                                                    (top)
                                                    (top)
                                                    (top))
-                                                  ("i36828"
-                                                   "i36826"
-                                                   "i36824"
-                                                   "i36822"
-                                                   "i36820"
-                                                   "i36818"
-                                                   "i36816"))
+                                                  ("i37138"
+                                                   "i37136"
+                                                   "i37134"
+                                                   "i37132"
+                                                   "i37130"
+                                                   "i37128"
+                                                   "i37126"))
                                                 #(ribcage
                                                   (quasiquote)
                                                   ((top))
@@ -19898,30 +19834,30 @@
                                                (hygiene guile)))
                                            .
                                            each-any))))
-                                 (if #{tmp 37182}#
+                                 (if #{tmp 37492}#
                                    (@apply
-                                     (lambda (#{p 37186}#)
-                                       (if (= #{lev 37111}# 0)
-                                         (#{quasiappend 37089}#
-                                           (map (lambda (#{tmp 36855 37189}#)
+                                     (lambda (#{p 37496}#)
+                                       (if (= #{lev 37421}# 0)
+                                         (#{quasiappend 37399}#
+                                           (map (lambda (#{tmp 37165 37499}#)
                                                   (list '#(syntax-object
                                                            "value"
                                                            ((top)
                                                             #(ribcage
                                                               #(p)
                                                               #((top))
-                                                              #("i36853"))
+                                                              #("i37163"))
                                                             #(ribcage
                                                               #(p q)
                                                               #((top) (top))
-                                                              #("i36842"
-                                                                "i36843"))
+                                                              #("i37152"
+                                                                "i37153"))
                                                             #(ribcage () () ())
                                                             #(ribcage
                                                               #(p lev)
                                                               #((top) (top))
-                                                              #("i36832"
-                                                                "i36833"))
+                                                              #("i37142"
+                                                                "i37143"))
                                                             #(ribcage
                                                               (emit quasivector
                                                                     quasilist*
@@ -19936,13 +19872,13 @@
                                                                (top)
                                                                (top)
                                                                (top))
-                                                              ("i36828"
-                                                               "i36826"
-                                                               "i36824"
-                                                               "i36822"
-                                                               "i36820"
-                                                               "i36818"
-                                                               "i36816"))
+                                                              ("i37138"
+                                                               "i37136"
+                                                               "i37134"
+                                                               "i37132"
+                                                               "i37130"
+                                                               "i37128"
+                                                               "i37126"))
                                                             #(ribcage
                                                               (quasiquote)
                                                               ((top))
@@ -19954,29 +19890,29 @@
                                                                   (hygiene
                                                                     guile))))))
                                                            (hygiene guile))
-                                                        #{tmp 36855 37189}#))
-                                                #{p 37186}#)
-                                           (#{quasi 37086}#
-                                             #{q 37132}#
-                                             #{lev 37111}#))
-                                         (#{quasicons 37088}#
-                                           (#{quasicons 37088}#
+                                                        #{tmp 37165 37499}#))
+                                                #{p 37496}#)
+                                           (#{quasi 37396}#
+                                             #{q 37442}#
+                                             #{lev 37421}#))
+                                         (#{quasicons 37398}#
+                                           (#{quasicons 37398}#
                                              '(#(syntax-object
                                                  "quote"
                                                  ((top)
                                                   #(ribcage
                                                     #(p)
                                                     #((top))
-                                                    #("i36853"))
+                                                    #("i37163"))
                                                   #(ribcage
                                                     #(p q)
                                                     #((top) (top))
-                                                    #("i36842" "i36843"))
+                                                    #("i37152" "i37153"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(p lev)
                                                     #((top) (top))
-                                                    #("i36832" "i36833"))
+                                                    #("i37142" "i37143"))
                                                   #(ribcage
                                                     (emit quasivector
                                                           quasilist*
@@ -19991,13 +19927,13 @@
                                                      (top)
                                                      (top)
                                                      (top))
-                                                    ("i36828"
-                                                     "i36826"
-                                                     "i36824"
-                                                     "i36822"
-                                                     "i36820"
-                                                     "i36818"
-                                                     "i36816"))
+                                                    ("i37138"
+                                                     "i37136"
+                                                     "i37134"
+                                                     "i37132"
+                                                     "i37130"
+                                                     "i37128"
+                                                     "i37126"))
                                                   #(ribcage
                                                     (quasiquote)
                                                     ((top))
@@ -20014,16 +19950,16 @@
                                                   #(ribcage
                                                     #(p)
                                                     #((top))
-                                                    #("i36853"))
+                                                    #("i37163"))
                                                   #(ribcage
                                                     #(p q)
                                                     #((top) (top))
-                                                    #("i36842" "i36843"))
+                                                    #("i37152" "i37153"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(p lev)
                                                     #((top) (top))
-                                                    #("i36832" "i36833"))
+                                                    #("i37142" "i37143"))
                                                   #(ribcage
                                                     (emit quasivector
                                                           quasilist*
@@ -20038,13 +19974,13 @@
                                                      (top)
                                                      (top)
                                                      (top))
-                                                    ("i36828"
-                                                     "i36826"
-                                                     "i36824"
-                                                     "i36822"
-                                                     "i36820"
-                                                     "i36818"
-                                                     "i36816"))
+                                                    ("i37138"
+                                                     "i37136"
+                                                     "i37134"
+                                                     "i37132"
+                                                     "i37130"
+                                                     "i37128"
+                                                     "i37126"))
                                                   #(ribcage
                                                     (quasiquote)
                                                     ((top))
@@ -20055,49 +19991,49 @@
                                                         ((top))
                                                         (hygiene guile))))))
                                                  (hygiene guile)))
-                                             (#{quasi 37086}#
-                                               #{p 37186}#
-                                               (#{1-}# #{lev 37111}#)))
-                                           (#{quasi 37086}#
-                                             #{q 37132}#
-                                             #{lev 37111}#))))
-                                     #{tmp 37182}#)
-                                   (#{quasicons 37088}#
-                                     (#{quasi 37086}#
-                                       #{p 37131}#
-                                       #{lev 37111}#)
-                                     (#{quasi 37086}#
-                                       #{q 37132}#
-                                       #{lev 37111}#)))))))
-                         #{tmp 37127}#)
-                       (let ((#{tmp 37203}#
-                               ($sc-dispatch #{p 37110}# '#(vector each-any))))
-                         (if #{tmp 37203}#
+                                             (#{quasi 37396}#
+                                               #{p 37496}#
+                                               (#{1-}# #{lev 37421}#)))
+                                           (#{quasi 37396}#
+                                             #{q 37442}#
+                                             #{lev 37421}#))))
+                                     #{tmp 37492}#)
+                                   (#{quasicons 37398}#
+                                     (#{quasi 37396}#
+                                       #{p 37441}#
+                                       #{lev 37421}#)
+                                     (#{quasi 37396}#
+                                       #{q 37442}#
+                                       #{lev 37421}#)))))))
+                         #{tmp 37437}#)
+                       (let ((#{tmp 37513}#
+                               ($sc-dispatch #{p 37420}# '#(vector each-any))))
+                         (if #{tmp 37513}#
                            (@apply
-                             (lambda (#{x 37207}#)
-                               (let ((#{x 37210}#
-                                       (#{vquasi 37087}#
-                                         #{x 37207}#
-                                         #{lev 37111}#)))
-                                 (let ((#{tmp 37212}#
+                             (lambda (#{x 37517}#)
+                               (let ((#{x 37520}#
+                                       (#{vquasi 37397}#
+                                         #{x 37517}#
+                                         #{lev 37421}#)))
+                                 (let ((#{tmp 37522}#
                                          ($sc-dispatch
-                                           #{x 37210}#
+                                           #{x 37520}#
                                            '(#(atom "quote") each-any))))
-                                   (if #{tmp 37212}#
+                                   (if #{tmp 37522}#
                                      (@apply
-                                       (lambda (#{x 37216}#)
+                                       (lambda (#{x 37526}#)
                                          (list '#(syntax-object
                                                   "quote"
                                                   ((top)
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i36960"))
+                                                     #("i37270"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i36957"))
+                                                     #("i37267"))
                                                    #(ribcage
                                                      (emit quasivector
                                                            quasilist*
@@ -20112,13 +20048,13 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                     ("i36828"
-                                                      "i36826"
-                                                      "i36824"
-                                                      "i36822"
-                                                      "i36820"
-                                                      "i36818"
-                                                      "i36816"))
+                                                     ("i37138"
+                                                      "i37136"
+                                                      "i37134"
+                                                      "i37132"
+                                                      "i37130"
+                                                      "i37128"
+                                                      "i37126"))
                                                    #(ribcage
                                                      (quasiquote)
                                                      ((top))
@@ -20129,28 +20065,28 @@
                                                          ((top))
                                                          (hygiene guile))))))
                                                   (hygiene guile))
-                                               (list->vector #{x 37216}#)))
-                                       #{tmp 37212}#)
+                                               (list->vector #{x 37526}#)))
+                                       #{tmp 37522}#)
                                      (letrec*
-                                       ((#{f 37218}#
-                                          (lambda (#{y 37230}# #{k 37231}#)
-                                            (let ((#{tmp 37233}#
+                                       ((#{f 37528}#
+                                          (lambda (#{y 37540}# #{k 37541}#)
+                                            (let ((#{tmp 37543}#
                                                     ($sc-dispatch
-                                                      #{y 37230}#
+                                                      #{y 37540}#
                                                       '(#(atom "quote")
                                                         each-any))))
-                                              (if #{tmp 37233}#
+                                              (if #{tmp 37543}#
                                                 (@apply
-                                                  (lambda (#{y 37236}#)
-                                                    (#{k 37231}#
-                                                      (map (lambda (#{tmp 
36985 37237}#)
+                                                  (lambda (#{y 37546}#)
+                                                    (#{k 37541}#
+                                                      (map (lambda (#{tmp 
37295 37547}#)
                                                              (list 
'#(syntax-object
                                                                       "quote"
                                                                       ((top)
                                                                        
#(ribcage
                                                                          #(y)
                                                                          
#((top))
-                                                                         
#("i36983"))
+                                                                         
#("i37293"))
                                                                        
#(ribcage
                                                                          ()
                                                                          ()
@@ -20162,13 +20098,13 @@
                                                                          
#((top)
                                                                            
(top)
                                                                            
(top))
-                                                                         
#("i36965"
-                                                                           
"i36966"
-                                                                           
"i36967"))
+                                                                         
#("i37275"
+                                                                           
"i37276"
+                                                                           
"i37277"))
                                                                        
#(ribcage
                                                                          #(_)
                                                                          
#((top))
-                                                                         
#("i36963"))
+                                                                         
#("i37273"))
                                                                        
#(ribcage
                                                                          ()
                                                                          ()
@@ -20176,7 +20112,7 @@
                                                                        
#(ribcage
                                                                          #(x)
                                                                          
#((top))
-                                                                         
#("i36957"))
+                                                                         
#("i37267"))
                                                                        
#(ribcage
                                                                          (emit 
quasivector
                                                                                
quasilist*
@@ -20191,13 +20127,13 @@
                                                                           (top)
                                                                           (top)
                                                                           
(top))
-                                                                         
("i36828"
-                                                                          
"i36826"
-                                                                          
"i36824"
-                                                                          
"i36822"
-                                                                          
"i36820"
-                                                                          
"i36818"
-                                                                          
"i36816"))
+                                                                         
("i37138"
+                                                                          
"i37136"
+                                                                          
"i37134"
+                                                                          
"i37132"
+                                                                          
"i37130"
+                                                                          
"i37128"
+                                                                          
"i37126"))
                                                                        
#(ribcage
                                                                          
(quasiquote)
                                                                          
((top))
@@ -20211,42 +20147,42 @@
                                                                                
guile))))))
                                                                       (hygiene
                                                                         guile))
-                                                                   #{tmp 36985 
37237}#))
-                                                           #{y 37236}#)))
-                                                  #{tmp 37233}#)
-                                                (let ((#{tmp 37238}#
+                                                                   #{tmp 37295 
37547}#))
+                                                           #{y 37546}#)))
+                                                  #{tmp 37543}#)
+                                                (let ((#{tmp 37548}#
                                                         ($sc-dispatch
-                                                          #{y 37230}#
+                                                          #{y 37540}#
                                                           '(#(atom "list")
                                                             .
                                                             each-any))))
-                                                  (if #{tmp 37238}#
+                                                  (if #{tmp 37548}#
                                                     (@apply
-                                                      (lambda (#{y 37241}#)
-                                                        (#{k 37231}#
-                                                          #{y 37241}#))
-                                                      #{tmp 37238}#)
-                                                    (let ((#{tmp 37242}#
+                                                      (lambda (#{y 37551}#)
+                                                        (#{k 37541}#
+                                                          #{y 37551}#))
+                                                      #{tmp 37548}#)
+                                                    (let ((#{tmp 37552}#
                                                             ($sc-dispatch
-                                                              #{y 37230}#
+                                                              #{y 37540}#
                                                               '(#(atom "list*")
                                                                 .
                                                                 #(each+
                                                                   any
                                                                   (any)
                                                                   ())))))
-                                                      (if #{tmp 37242}#
+                                                      (if #{tmp 37552}#
                                                         (@apply
-                                                          (lambda (#{y 37245}#
-                                                                   #{z 37246}#)
-                                                            (#{f 37218}#
-                                                              #{z 37246}#
-                                                              (lambda (#{ls 
37247}#)
-                                                                (#{k 37231}#
+                                                          (lambda (#{y 37555}#
+                                                                   #{z 37556}#)
+                                                            (#{f 37528}#
+                                                              #{z 37556}#
+                                                              (lambda (#{ls 
37557}#)
+                                                                (#{k 37541}#
                                                                   (append
-                                                                    #{y 37245}#
-                                                                    #{ls 
37247}#)))))
-                                                          #{tmp 37242}#)
+                                                                    #{y 37555}#
+                                                                    #{ls 
37557}#)))))
+                                                          #{tmp 37552}#)
                                                         (list '#(syntax-object
                                                                  "list->vector"
                                                                  ((top)
@@ -20255,14 +20191,14 @@
                                                                     ()
                                                                     ())
                                                                   #(ribcage
-                                                                    #(#{ 
g37000}#)
-                                                                    #((m37001
+                                                                    #(#{ 
g37310}#)
+                                                                    #((m37311
                                                                         top))
-                                                                    
#("i37004"))
+                                                                    
#("i37314"))
                                                                   #(ribcage
                                                                     #(else)
                                                                     #((top))
-                                                                    
#("i36998"))
+                                                                    
#("i37308"))
                                                                   #(ribcage
                                                                     ()
                                                                     ()
@@ -20272,13 +20208,13 @@
                                                                     #((top)
                                                                       (top)
                                                                       (top))
-                                                                    #("i36965"
-                                                                      "i36966"
-                                                                      
"i36967"))
+                                                                    #("i37275"
+                                                                      "i37276"
+                                                                      
"i37277"))
                                                                   #(ribcage
                                                                     #(_)
                                                                     #((top))
-                                                                    
#("i36963"))
+                                                                    
#("i37273"))
                                                                   #(ribcage
                                                                     ()
                                                                     ()
@@ -20286,7 +20222,7 @@
                                                                   #(ribcage
                                                                     #(x)
                                                                     #((top))
-                                                                    
#("i36957"))
+                                                                    
#("i37267"))
                                                                   #(ribcage
                                                                     (emit 
quasivector
                                                                           
quasilist*
@@ -20301,13 +20237,13 @@
                                                                      (top)
                                                                      (top)
                                                                      (top))
-                                                                    ("i36828"
-                                                                     "i36826"
-                                                                     "i36824"
-                                                                     "i36822"
-                                                                     "i36820"
-                                                                     "i36818"
-                                                                     "i36816"))
+                                                                    ("i37138"
+                                                                     "i37136"
+                                                                     "i37134"
+                                                                     "i37132"
+                                                                     "i37130"
+                                                                     "i37128"
+                                                                     "i37126"))
                                                                   #(ribcage
                                                                     
(quasiquote)
                                                                     ((top))
@@ -20321,17 +20257,17 @@
                                                                           
guile))))))
                                                                  (hygiene
                                                                    guile))
-                                                              #{x 
37210}#))))))))))
-                                       (#{f 37218}#
-                                         #{x 37210}#
-                                         (lambda (#{ls 37220}#)
-                                           (let ((#{tmp 37222}#
+                                                              #{x 
37520}#))))))))))
+                                       (#{f 37528}#
+                                         #{x 37520}#
+                                         (lambda (#{ls 37530}#)
+                                           (let ((#{tmp 37532}#
                                                    ($sc-dispatch
-                                                     #{ls 37220}#
+                                                     #{ls 37530}#
                                                      'each-any)))
-                                             (if #{tmp 37222}#
+                                             (if #{tmp 37532}#
                                                (@apply
-                                                 (lambda (#{ g36973 37225}#)
+                                                 (lambda (#{ g37283 37535}#)
                                                    (cons '#(syntax-object
                                                             "vector"
                                                             ((top)
@@ -20340,9 +20276,9 @@
                                                                ()
                                                                ())
                                                              #(ribcage
-                                                               #(#{ g36973}#)
-                                                               #((m36974 top))
-                                                               #("i36978"))
+                                                               #(#{ g37283}#)
+                                                               #((m37284 top))
+                                                               #("i37288"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -20358,11 +20294,11 @@
                                                              #(ribcage
                                                                #(ls)
                                                                #((top))
-                                                               #("i36972"))
+                                                               #("i37282"))
                                                              #(ribcage
                                                                #(_)
                                                                #((top))
-                                                               #("i36963"))
+                                                               #("i37273"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -20370,7 +20306,7 @@
                                                              #(ribcage
                                                                #(x)
                                                                #((top))
-                                                               #("i36957"))
+                                                               #("i37267"))
                                                              #(ribcage
                                                                (emit 
quasivector
                                                                      quasilist*
@@ -20385,13 +20321,13 @@
                                                                 (top)
                                                                 (top)
                                                                 (top))
-                                                               ("i36828"
-                                                                "i36826"
-                                                                "i36824"
-                                                                "i36822"
-                                                                "i36820"
-                                                                "i36818"
-                                                                "i36816"))
+                                                               ("i37138"
+                                                                "i37136"
+                                                                "i37134"
+                                                                "i37132"
+                                                                "i37130"
+                                                                "i37128"
+                                                                "i37126"))
                                                              #(ribcage
                                                                (quasiquote)
                                                                ((top))
@@ -20404,22 +20340,22 @@
                                                                    (hygiene
                                                                      
guile))))))
                                                             (hygiene guile))
-                                                         #{ g36973 37225}#))
-                                                 #{tmp 37222}#)
+                                                         #{ g37283 37535}#))
+                                                 #{tmp 37532}#)
                                                (syntax-violation
                                                  #f
                                                  "source expression failed to 
match any pattern"
-                                                 #{ls 37220}#))))))))))
-                             #{tmp 37203}#)
+                                                 #{ls 37530}#))))))))))
+                             #{tmp 37513}#)
                            (list '#(syntax-object
                                     "quote"
                                     ((top)
-                                     #(ribcage #(p) #((top)) #("i36863"))
+                                     #(ribcage #(p) #((top)) #("i37173"))
                                      #(ribcage () () ())
                                      #(ribcage
                                        #(p lev)
                                        #((top) (top))
-                                       #("i36832" "i36833"))
+                                       #("i37142" "i37143"))
                                      #(ribcage
                                        (emit quasivector
                                              quasilist*
@@ -20434,13 +20370,13 @@
                                         (top)
                                         (top)
                                         (top))
-                                       ("i36828"
-                                        "i36826"
-                                        "i36824"
-                                        "i36822"
-                                        "i36820"
-                                        "i36818"
-                                        "i36816"))
+                                       ("i37138"
+                                        "i37136"
+                                        "i37134"
+                                        "i37132"
+                                        "i37130"
+                                        "i37128"
+                                        "i37126"))
                                      #(ribcage
                                        (quasiquote)
                                        ((top))
@@ -20451,17 +20387,17 @@
                                            ((top))
                                            (hygiene guile))))))
                                     (hygiene guile))
-                                 #{p 37110}#)))))))))))
-       (#{vquasi 37087}#
-         (lambda (#{p 37275}# #{lev 37276}#)
-           (let ((#{tmp 37278}#
-                   ($sc-dispatch #{p 37275}# '(any . any))))
-             (if #{tmp 37278}#
+                                 #{p 37420}#)))))))))))
+       (#{vquasi 37397}#
+         (lambda (#{p 37585}# #{lev 37586}#)
+           (let ((#{tmp 37588}#
+                   ($sc-dispatch #{p 37585}# '(any . any))))
+             (if #{tmp 37588}#
                (@apply
-                 (lambda (#{p 37282}# #{q 37283}#)
-                   (let ((#{tmp 37285}#
+                 (lambda (#{p 37592}# #{q 37593}#)
+                   (let ((#{tmp 37595}#
                            ($sc-dispatch
-                             #{p 37282}#
+                             #{p 37592}#
                              '(#(free-id
                                  #(syntax-object
                                    unquote
@@ -20469,12 +20405,12 @@
                                     #(ribcage
                                       #(p q)
                                       #((top) (top))
-                                      #("i36871" "i36872"))
+                                      #("i37181" "i37182"))
                                     #(ribcage () () ())
                                     #(ribcage
                                       #(p lev)
                                       #((top) (top))
-                                      #("i36867" "i36868"))
+                                      #("i37177" "i37178"))
                                     #(ribcage
                                       (emit quasivector
                                             quasilist*
@@ -20489,13 +20425,13 @@
                                        (top)
                                        (top)
                                        (top))
-                                      ("i36828"
-                                       "i36826"
-                                       "i36824"
-                                       "i36822"
-                                       "i36820"
-                                       "i36818"
-                                       "i36816"))
+                                      ("i37138"
+                                       "i37136"
+                                       "i37134"
+                                       "i37132"
+                                       "i37130"
+                                       "i37128"
+                                       "i37126"))
                                     #(ribcage
                                       (quasiquote)
                                       ((top))
@@ -20508,28 +20444,28 @@
                                    (hygiene guile)))
                                .
                                each-any))))
-                     (if #{tmp 37285}#
+                     (if #{tmp 37595}#
                        (@apply
-                         (lambda (#{p 37289}#)
-                           (if (= #{lev 37276}# 0)
-                             (#{quasilist* 37090}#
-                               (map (lambda (#{tmp 36879 37328}#)
+                         (lambda (#{p 37599}#)
+                           (if (= #{lev 37586}# 0)
+                             (#{quasilist* 37400}#
+                               (map (lambda (#{tmp 37189 37638}#)
                                       (list '#(syntax-object
                                                "value"
                                                ((top)
                                                 #(ribcage
                                                   #(p)
                                                   #((top))
-                                                  #("i36877"))
+                                                  #("i37187"))
                                                 #(ribcage
                                                   #(p q)
                                                   #((top) (top))
-                                                  #("i36871" "i36872"))
+                                                  #("i37181" "i37182"))
                                                 #(ribcage () () ())
                                                 #(ribcage
                                                   #(p lev)
                                                   #((top) (top))
-                                                  #("i36867" "i36868"))
+                                                  #("i37177" "i37178"))
                                                 #(ribcage
                                                   (emit quasivector
                                                         quasilist*
@@ -20544,13 +20480,13 @@
                                                    (top)
                                                    (top)
                                                    (top))
-                                                  ("i36828"
-                                                   "i36826"
-                                                   "i36824"
-                                                   "i36822"
-                                                   "i36820"
-                                                   "i36818"
-                                                   "i36816"))
+                                                  ("i37138"
+                                                   "i37136"
+                                                   "i37134"
+                                                   "i37132"
+                                                   "i37130"
+                                                   "i37128"
+                                                   "i37126"))
                                                 #(ribcage
                                                   (quasiquote)
                                                   ((top))
@@ -20561,24 +20497,24 @@
                                                       ((top))
                                                       (hygiene guile))))))
                                                (hygiene guile))
-                                            #{tmp 36879 37328}#))
-                                    #{p 37289}#)
-                               (#{vquasi 37087}# #{q 37283}# #{lev 37276}#))
-                             (#{quasicons 37088}#
-                               (#{quasicons 37088}#
+                                            #{tmp 37189 37638}#))
+                                    #{p 37599}#)
+                               (#{vquasi 37397}# #{q 37593}# #{lev 37586}#))
+                             (#{quasicons 37398}#
+                               (#{quasicons 37398}#
                                  '(#(syntax-object
                                      "quote"
                                      ((top)
-                                      #(ribcage #(p) #((top)) #("i36877"))
+                                      #(ribcage #(p) #((top)) #("i37187"))
                                       #(ribcage
                                         #(p q)
                                         #((top) (top))
-                                        #("i36871" "i36872"))
+                                        #("i37181" "i37182"))
                                       #(ribcage () () ())
                                       #(ribcage
                                         #(p lev)
                                         #((top) (top))
-                                        #("i36867" "i36868"))
+                                        #("i37177" "i37178"))
                                       #(ribcage
                                         (emit quasivector
                                               quasilist*
@@ -20593,13 +20529,13 @@
                                          (top)
                                          (top)
                                          (top))
-                                        ("i36828"
-                                         "i36826"
-                                         "i36824"
-                                         "i36822"
-                                         "i36820"
-                                         "i36818"
-                                         "i36816"))
+                                        ("i37138"
+                                         "i37136"
+                                         "i37134"
+                                         "i37132"
+                                         "i37130"
+                                         "i37128"
+                                         "i37126"))
                                       #(ribcage
                                         (quasiquote)
                                         ((top))
@@ -20613,16 +20549,16 @@
                                    #(syntax-object
                                      unquote
                                      ((top)
-                                      #(ribcage #(p) #((top)) #("i36877"))
+                                      #(ribcage #(p) #((top)) #("i37187"))
                                       #(ribcage
                                         #(p q)
                                         #((top) (top))
-                                        #("i36871" "i36872"))
+                                        #("i37181" "i37182"))
                                       #(ribcage () () ())
                                       #(ribcage
                                         #(p lev)
                                         #((top) (top))
-                                        #("i36867" "i36868"))
+                                        #("i37177" "i37178"))
                                       #(ribcage
                                         (emit quasivector
                                               quasilist*
@@ -20637,13 +20573,13 @@
                                          (top)
                                          (top)
                                          (top))
-                                        ("i36828"
-                                         "i36826"
-                                         "i36824"
-                                         "i36822"
-                                         "i36820"
-                                         "i36818"
-                                         "i36816"))
+                                        ("i37138"
+                                         "i37136"
+                                         "i37134"
+                                         "i37132"
+                                         "i37130"
+                                         "i37128"
+                                         "i37126"))
                                       #(ribcage
                                         (quasiquote)
                                         ((top))
@@ -20654,14 +20590,14 @@
                                             ((top))
                                             (hygiene guile))))))
                                      (hygiene guile)))
-                                 (#{quasi 37086}#
-                                   #{p 37289}#
-                                   (#{1-}# #{lev 37276}#)))
-                               (#{vquasi 37087}# #{q 37283}# #{lev 37276}#))))
-                         #{tmp 37285}#)
-                       (let ((#{tmp 37335}#
+                                 (#{quasi 37396}#
+                                   #{p 37599}#
+                                   (#{1-}# #{lev 37586}#)))
+                               (#{vquasi 37397}# #{q 37593}# #{lev 37586}#))))
+                         #{tmp 37595}#)
+                       (let ((#{tmp 37645}#
                                ($sc-dispatch
-                                 #{p 37282}#
+                                 #{p 37592}#
                                  '(#(free-id
                                      #(syntax-object
                                        unquote-splicing
@@ -20669,12 +20605,12 @@
                                         #(ribcage
                                           #(p q)
                                           #((top) (top))
-                                          #("i36871" "i36872"))
+                                          #("i37181" "i37182"))
                                         #(ribcage () () ())
                                         #(ribcage
                                           #(p lev)
                                           #((top) (top))
-                                          #("i36867" "i36868"))
+                                          #("i37177" "i37178"))
                                         #(ribcage
                                           (emit quasivector
                                                 quasilist*
@@ -20689,13 +20625,13 @@
                                            (top)
                                            (top)
                                            (top))
-                                          ("i36828"
-                                           "i36826"
-                                           "i36824"
-                                           "i36822"
-                                           "i36820"
-                                           "i36818"
-                                           "i36816"))
+                                          ("i37138"
+                                           "i37136"
+                                           "i37134"
+                                           "i37132"
+                                           "i37130"
+                                           "i37128"
+                                           "i37126"))
                                         #(ribcage
                                           (quasiquote)
                                           ((top))
@@ -20708,28 +20644,28 @@
                                        (hygiene guile)))
                                    .
                                    each-any))))
-                         (if #{tmp 37335}#
+                         (if #{tmp 37645}#
                            (@apply
-                             (lambda (#{p 37339}#)
-                               (if (= #{lev 37276}# 0)
-                                 (#{quasiappend 37089}#
-                                   (map (lambda (#{tmp 36884 37342}#)
+                             (lambda (#{p 37649}#)
+                               (if (= #{lev 37586}# 0)
+                                 (#{quasiappend 37399}#
+                                   (map (lambda (#{tmp 37194 37652}#)
                                           (list '#(syntax-object
                                                    "value"
                                                    ((top)
                                                     #(ribcage
                                                       #(p)
                                                       #((top))
-                                                      #("i36882"))
+                                                      #("i37192"))
                                                     #(ribcage
                                                       #(p q)
                                                       #((top) (top))
-                                                      #("i36871" "i36872"))
+                                                      #("i37181" "i37182"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(p lev)
                                                       #((top) (top))
-                                                      #("i36867" "i36868"))
+                                                      #("i37177" "i37178"))
                                                     #(ribcage
                                                       (emit quasivector
                                                             quasilist*
@@ -20744,13 +20680,13 @@
                                                        (top)
                                                        (top)
                                                        (top))
-                                                      ("i36828"
-                                                       "i36826"
-                                                       "i36824"
-                                                       "i36822"
-                                                       "i36820"
-                                                       "i36818"
-                                                       "i36816"))
+                                                      ("i37138"
+                                                       "i37136"
+                                                       "i37134"
+                                                       "i37132"
+                                                       "i37130"
+                                                       "i37128"
+                                                       "i37126"))
                                                     #(ribcage
                                                       (quasiquote)
                                                       ((top))
@@ -20761,26 +20697,26 @@
                                                           ((top))
                                                           (hygiene guile))))))
                                                    (hygiene guile))
-                                                #{tmp 36884 37342}#))
-                                        #{p 37339}#)
-                                   (#{vquasi 37087}#
-                                     #{q 37283}#
-                                     #{lev 37276}#))
-                                 (#{quasicons 37088}#
-                                   (#{quasicons 37088}#
+                                                #{tmp 37194 37652}#))
+                                        #{p 37649}#)
+                                   (#{vquasi 37397}#
+                                     #{q 37593}#
+                                     #{lev 37586}#))
+                                 (#{quasicons 37398}#
+                                   (#{quasicons 37398}#
                                      '(#(syntax-object
                                          "quote"
                                          ((top)
-                                          #(ribcage #(p) #((top)) #("i36882"))
+                                          #(ribcage #(p) #((top)) #("i37192"))
                                           #(ribcage
                                             #(p q)
                                             #((top) (top))
-                                            #("i36871" "i36872"))
+                                            #("i37181" "i37182"))
                                           #(ribcage () () ())
                                           #(ribcage
                                             #(p lev)
                                             #((top) (top))
-                                            #("i36867" "i36868"))
+                                            #("i37177" "i37178"))
                                           #(ribcage
                                             (emit quasivector
                                                   quasilist*
@@ -20795,13 +20731,13 @@
                                              (top)
                                              (top)
                                              (top))
-                                            ("i36828"
-                                             "i36826"
-                                             "i36824"
-                                             "i36822"
-                                             "i36820"
-                                             "i36818"
-                                             "i36816"))
+                                            ("i37138"
+                                             "i37136"
+                                             "i37134"
+                                             "i37132"
+                                             "i37130"
+                                             "i37128"
+                                             "i37126"))
                                           #(ribcage
                                             (quasiquote)
                                             ((top))
@@ -20815,16 +20751,16 @@
                                        #(syntax-object
                                          unquote-splicing
                                          ((top)
-                                          #(ribcage #(p) #((top)) #("i36882"))
+                                          #(ribcage #(p) #((top)) #("i37192"))
                                           #(ribcage
                                             #(p q)
                                             #((top) (top))
-                                            #("i36871" "i36872"))
+                                            #("i37181" "i37182"))
                                           #(ribcage () () ())
                                           #(ribcage
                                             #(p lev)
                                             #((top) (top))
-                                            #("i36867" "i36868"))
+                                            #("i37177" "i37178"))
                                           #(ribcage
                                             (emit quasivector
                                                   quasilist*
@@ -20839,13 +20775,13 @@
                                              (top)
                                              (top)
                                              (top))
-                                            ("i36828"
-                                             "i36826"
-                                             "i36824"
-                                             "i36822"
-                                             "i36820"
-                                             "i36818"
-                                             "i36816"))
+                                            ("i37138"
+                                             "i37136"
+                                             "i37134"
+                                             "i37132"
+                                             "i37130"
+                                             "i37128"
+                                             "i37126"))
                                           #(ribcage
                                             (quasiquote)
                                             ((top))
@@ -20856,19 +20792,19 @@
                                                 ((top))
                                                 (hygiene guile))))))
                                          (hygiene guile)))
-                                     (#{quasi 37086}#
-                                       #{p 37339}#
-                                       (#{1-}# #{lev 37276}#)))
-                                   (#{vquasi 37087}#
-                                     #{q 37283}#
-                                     #{lev 37276}#))))
-                             #{tmp 37335}#)
-                           (#{quasicons 37088}#
-                             (#{quasi 37086}# #{p 37282}# #{lev 37276}#)
-                             (#{vquasi 37087}# #{q 37283}# #{lev 37276}#)))))))
-                 #{tmp 37278}#)
-               (let ((#{tmp 37360}# ($sc-dispatch #{p 37275}# '())))
-                 (if #{tmp 37360}#
+                                     (#{quasi 37396}#
+                                       #{p 37649}#
+                                       (#{1-}# #{lev 37586}#)))
+                                   (#{vquasi 37397}#
+                                     #{q 37593}#
+                                     #{lev 37586}#))))
+                             #{tmp 37645}#)
+                           (#{quasicons 37398}#
+                             (#{quasi 37396}# #{p 37592}# #{lev 37586}#)
+                             (#{vquasi 37397}# #{q 37593}# #{lev 37586}#)))))))
+                 #{tmp 37588}#)
+               (let ((#{tmp 37670}# ($sc-dispatch #{p 37585}# '())))
+                 (if #{tmp 37670}#
                    (@apply
                      (lambda ()
                        '(#(syntax-object
@@ -20878,7 +20814,7 @@
                             #(ribcage
                               #(p lev)
                               #((top) (top))
-                              #("i36867" "i36868"))
+                              #("i37177" "i37178"))
                             #(ribcage
                               (emit quasivector
                                     quasilist*
@@ -20887,13 +20823,13 @@
                                     vquasi
                                     quasi)
                               ((top) (top) (top) (top) (top) (top) (top))
-                              ("i36828"
-                               "i36826"
-                               "i36824"
-                               "i36822"
-                               "i36820"
-                               "i36818"
-                               "i36816"))
+                              ("i37138"
+                               "i37136"
+                               "i37134"
+                               "i37132"
+                               "i37130"
+                               "i37128"
+                               "i37126"))
                             #(ribcage
                               (quasiquote)
                               ((top))
@@ -20905,55 +20841,55 @@
                                   (hygiene guile))))))
                            (hygiene guile))
                          ()))
-                     #{tmp 37360}#)
+                     #{tmp 37670}#)
                    (syntax-violation
                      #f
                      "source expression failed to match any pattern"
-                     #{p 37275}#)))))))
-       (#{quasicons 37088}#
-         (lambda (#{x 37373}# #{y 37374}#)
-           (let ((#{tmp 37375}# (list #{x 37373}# #{y 37374}#)))
-             (let ((#{tmp 37376}#
-                     ($sc-dispatch #{tmp 37375}# '(any any))))
-               (if #{tmp 37376}#
+                     #{p 37585}#)))))))
+       (#{quasicons 37398}#
+         (lambda (#{x 37683}# #{y 37684}#)
+           (let ((#{tmp 37685}# (list #{x 37683}# #{y 37684}#)))
+             (let ((#{tmp 37686}#
+                     ($sc-dispatch #{tmp 37685}# '(any any))))
+               (if #{tmp 37686}#
                  (@apply
-                   (lambda (#{x 37378}# #{y 37379}#)
-                     (let ((#{tmp 37381}#
+                   (lambda (#{x 37688}# #{y 37689}#)
+                     (let ((#{tmp 37691}#
                              ($sc-dispatch
-                               #{y 37379}#
+                               #{y 37689}#
                                '(#(atom "quote") any))))
-                       (if #{tmp 37381}#
+                       (if #{tmp 37691}#
                          (@apply
-                           (lambda (#{dy 37385}#)
-                             (let ((#{tmp 37387}#
+                           (lambda (#{dy 37695}#)
+                             (let ((#{tmp 37697}#
                                      ($sc-dispatch
-                                       #{x 37378}#
+                                       #{x 37688}#
                                        '(#(atom "quote") any))))
-                               (if #{tmp 37387}#
+                               (if #{tmp 37697}#
                                  (@apply
-                                   (lambda (#{dx 37391}#)
+                                   (lambda (#{dx 37701}#)
                                      (list '#(syntax-object
                                               "quote"
                                               ((top)
                                                #(ribcage
                                                  #(dx)
                                                  #((top))
-                                                 #("i36906"))
+                                                 #("i37216"))
                                                #(ribcage
                                                  #(dy)
                                                  #((top))
-                                                 #("i36902"))
+                                                 #("i37212"))
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x y)
                                                  #((top) (top))
-                                                 #("i36896" "i36897"))
+                                                 #("i37206" "i37207"))
                                                #(ribcage () () ())
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x y)
                                                  #((top) (top))
-                                                 #("i36891" "i36892"))
+                                                 #("i37201" "i37202"))
                                                #(ribcage
                                                  (emit quasivector
                                                        quasilist*
@@ -20968,13 +20904,13 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                 ("i36828"
-                                                  "i36826"
-                                                  "i36824"
-                                                  "i36822"
-                                                  "i36820"
-                                                  "i36818"
-                                                  "i36816"))
+                                                 ("i37138"
+                                                  "i37136"
+                                                  "i37134"
+                                                  "i37132"
+                                                  "i37130"
+                                                  "i37128"
+                                                  "i37126"))
                                                #(ribcage
                                                  (quasiquote)
                                                  ((top))
@@ -20985,31 +20921,31 @@
                                                      ((top))
                                                      (hygiene guile))))))
                                               (hygiene guile))
-                                           (cons #{dx 37391}# #{dy 37385}#)))
-                                   #{tmp 37387}#)
-                                 (if (null? #{dy 37385}#)
+                                           (cons #{dx 37701}# #{dy 37695}#)))
+                                   #{tmp 37697}#)
+                                 (if (null? #{dy 37695}#)
                                    (list '#(syntax-object
                                             "list"
                                             ((top)
                                              #(ribcage
                                                #(_)
                                                #((top))
-                                               #("i36908"))
+                                               #("i37218"))
                                              #(ribcage
                                                #(dy)
                                                #((top))
-                                               #("i36902"))
+                                               #("i37212"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i36896" "i36897"))
+                                               #("i37206" "i37207"))
                                              #(ribcage () () ())
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i36891" "i36892"))
+                                               #("i37201" "i37202"))
                                              #(ribcage
                                                (emit quasivector
                                                      quasilist*
@@ -21024,13 +20960,13 @@
                                                 (top)
                                                 (top)
                                                 (top))
-                                               ("i36828"
-                                                "i36826"
-                                                "i36824"
-                                                "i36822"
-                                                "i36820"
-                                                "i36818"
-                                                "i36816"))
+                                               ("i37138"
+                                                "i37136"
+                                                "i37134"
+                                                "i37132"
+                                                "i37130"
+                                                "i37128"
+                                                "i37126"))
                                              #(ribcage
                                                (quasiquote)
                                                ((top))
@@ -21041,29 +20977,29 @@
                                                    ((top))
                                                    (hygiene guile))))))
                                             (hygiene guile))
-                                         #{x 37378}#)
+                                         #{x 37688}#)
                                    (list '#(syntax-object
                                             "list*"
                                             ((top)
                                              #(ribcage
                                                #(_)
                                                #((top))
-                                               #("i36908"))
+                                               #("i37218"))
                                              #(ribcage
                                                #(dy)
                                                #((top))
-                                               #("i36902"))
+                                               #("i37212"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i36896" "i36897"))
+                                               #("i37206" "i37207"))
                                              #(ribcage () () ())
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i36891" "i36892"))
+                                               #("i37201" "i37202"))
                                              #(ribcage
                                                (emit quasivector
                                                      quasilist*
@@ -21078,13 +21014,13 @@
                                                 (top)
                                                 (top)
                                                 (top))
-                                               ("i36828"
-                                                "i36826"
-                                                "i36824"
-                                                "i36822"
-                                                "i36820"
-                                                "i36818"
-                                                "i36816"))
+                                               ("i37138"
+                                                "i37136"
+                                                "i37134"
+                                                "i37132"
+                                                "i37130"
+                                                "i37128"
+                                                "i37126"))
                                              #(ribcage
                                                (quasiquote)
                                                ((top))
@@ -21095,34 +21031,34 @@
                                                    ((top))
                                                    (hygiene guile))))))
                                             (hygiene guile))
-                                         #{x 37378}#
-                                         #{y 37379}#)))))
-                           #{tmp 37381}#)
-                         (let ((#{tmp 37396}#
+                                         #{x 37688}#
+                                         #{y 37689}#)))))
+                           #{tmp 37691}#)
+                         (let ((#{tmp 37706}#
                                  ($sc-dispatch
-                                   #{y 37379}#
+                                   #{y 37689}#
                                    '(#(atom "list") . any))))
-                           (if #{tmp 37396}#
+                           (if #{tmp 37706}#
                              (@apply
-                               (lambda (#{stuff 37400}#)
+                               (lambda (#{stuff 37710}#)
                                  (cons '#(syntax-object
                                           "list"
                                           ((top)
                                            #(ribcage
                                              #(stuff)
                                              #((top))
-                                             #("i36911"))
+                                             #("i37221"))
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(x y)
                                              #((top) (top))
-                                             #("i36896" "i36897"))
+                                             #("i37206" "i37207"))
                                            #(ribcage () () ())
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(x y)
                                              #((top) (top))
-                                             #("i36891" "i36892"))
+                                             #("i37201" "i37202"))
                                            #(ribcage
                                              (emit quasivector
                                                    quasilist*
@@ -21137,13 +21073,13 @@
                                               (top)
                                               (top)
                                               (top))
-                                             ("i36828"
-                                              "i36826"
-                                              "i36824"
-                                              "i36822"
-                                              "i36820"
-                                              "i36818"
-                                              "i36816"))
+                                             ("i37138"
+                                              "i37136"
+                                              "i37134"
+                                              "i37132"
+                                              "i37130"
+                                              "i37128"
+                                              "i37126"))
                                            #(ribcage
                                              (quasiquote)
                                              ((top))
@@ -21154,33 +21090,33 @@
                                                  ((top))
                                                  (hygiene guile))))))
                                           (hygiene guile))
-                                       (cons #{x 37378}# #{stuff 37400}#)))
-                               #{tmp 37396}#)
-                             (let ((#{tmp 37401}#
+                                       (cons #{x 37688}# #{stuff 37710}#)))
+                               #{tmp 37706}#)
+                             (let ((#{tmp 37711}#
                                      ($sc-dispatch
-                                       #{y 37379}#
+                                       #{y 37689}#
                                        '(#(atom "list*") . any))))
-                               (if #{tmp 37401}#
+                               (if #{tmp 37711}#
                                  (@apply
-                                   (lambda (#{stuff 37405}#)
+                                   (lambda (#{stuff 37715}#)
                                      (cons '#(syntax-object
                                               "list*"
                                               ((top)
                                                #(ribcage
                                                  #(stuff)
                                                  #((top))
-                                                 #("i36914"))
+                                                 #("i37224"))
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x y)
                                                  #((top) (top))
-                                                 #("i36896" "i36897"))
+                                                 #("i37206" "i37207"))
                                                #(ribcage () () ())
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x y)
                                                  #((top) (top))
-                                                 #("i36891" "i36892"))
+                                                 #("i37201" "i37202"))
                                                #(ribcage
                                                  (emit quasivector
                                                        quasilist*
@@ -21195,13 +21131,13 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                 ("i36828"
-                                                  "i36826"
-                                                  "i36824"
-                                                  "i36822"
-                                                  "i36820"
-                                                  "i36818"
-                                                  "i36816"))
+                                                 ("i37138"
+                                                  "i37136"
+                                                  "i37134"
+                                                  "i37132"
+                                                  "i37130"
+                                                  "i37128"
+                                                  "i37126"))
                                                #(ribcage
                                                  (quasiquote)
                                                  ((top))
@@ -21212,23 +21148,23 @@
                                                      ((top))
                                                      (hygiene guile))))))
                                               (hygiene guile))
-                                           (cons #{x 37378}# #{stuff 37405}#)))
-                                   #{tmp 37401}#)
+                                           (cons #{x 37688}# #{stuff 37715}#)))
+                                   #{tmp 37711}#)
                                  (list '#(syntax-object
                                           "list*"
                                           ((top)
-                                           #(ribcage #(_) #((top)) #("i36916"))
+                                           #(ribcage #(_) #((top)) #("i37226"))
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(x y)
                                              #((top) (top))
-                                             #("i36896" "i36897"))
+                                             #("i37206" "i37207"))
                                            #(ribcage () () ())
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(x y)
                                              #((top) (top))
-                                             #("i36891" "i36892"))
+                                             #("i37201" "i37202"))
                                            #(ribcage
                                              (emit quasivector
                                                    quasilist*
@@ -21243,13 +21179,13 @@
                                               (top)
                                               (top)
                                               (top))
-                                             ("i36828"
-                                              "i36826"
-                                              "i36824"
-                                              "i36822"
-                                              "i36820"
-                                              "i36818"
-                                              "i36816"))
+                                             ("i37138"
+                                              "i37136"
+                                              "i37134"
+                                              "i37132"
+                                              "i37130"
+                                              "i37128"
+                                              "i37126"))
                                            #(ribcage
                                              (quasiquote)
                                              ((top))
@@ -21260,21 +21196,21 @@
                                                  ((top))
                                                  (hygiene guile))))))
                                           (hygiene guile))
-                                       #{x 37378}#
-                                       #{y 37379}#))))))))
-                   #{tmp 37376}#)
+                                       #{x 37688}#
+                                       #{y 37689}#))))))))
+                   #{tmp 37686}#)
                  (syntax-violation
                    #f
                    "source expression failed to match any pattern"
-                   #{tmp 37375}#))))))
-       (#{quasiappend 37089}#
-         (lambda (#{x 37416}# #{y 37417}#)
-           (let ((#{tmp 37419}#
-                   ($sc-dispatch #{y 37417}# '(#(atom "quote") ()))))
-             (if #{tmp 37419}#
+                   #{tmp 37685}#))))))
+       (#{quasiappend 37399}#
+         (lambda (#{x 37726}# #{y 37727}#)
+           (let ((#{tmp 37729}#
+                   ($sc-dispatch #{y 37727}# '(#(atom "quote") ()))))
+             (if #{tmp 37729}#
                (@apply
                  (lambda ()
-                   (if (null? #{x 37416}#)
+                   (if (null? #{x 37726}#)
                      '(#(syntax-object
                          "quote"
                          ((top)
@@ -21282,7 +21218,7 @@
                           #(ribcage
                             #(x y)
                             #((top) (top))
-                            #("i36920" "i36921"))
+                            #("i37230" "i37231"))
                           #(ribcage
                             (emit quasivector
                                   quasilist*
@@ -21291,13 +21227,13 @@
                                   vquasi
                                   quasi)
                             ((top) (top) (top) (top) (top) (top) (top))
-                            ("i36828"
-                             "i36826"
-                             "i36824"
-                             "i36822"
-                             "i36820"
-                             "i36818"
-                             "i36816"))
+                            ("i37138"
+                             "i37136"
+                             "i37134"
+                             "i37132"
+                             "i37130"
+                             "i37128"
+                             "i37126"))
                           #(ribcage
                             (quasiquote)
                             ((top))
@@ -21309,23 +21245,23 @@
                                 (hygiene guile))))))
                          (hygiene guile))
                        ())
-                     (if (null? (cdr #{x 37416}#))
-                       (car #{x 37416}#)
-                       (let ((#{tmp 37424}#
-                               ($sc-dispatch #{x 37416}# 'each-any)))
-                         (if #{tmp 37424}#
+                     (if (null? (cdr #{x 37726}#))
+                       (car #{x 37726}#)
+                       (let ((#{tmp 37734}#
+                               ($sc-dispatch #{x 37726}# 'each-any)))
+                         (if #{tmp 37734}#
                            (@apply
-                             (lambda (#{p 37428}#)
+                             (lambda (#{p 37738}#)
                                (cons '#(syntax-object
                                         "append"
                                         ((top)
                                          #(ribcage () () ())
-                                         #(ribcage #(p) #((top)) #("i36932"))
+                                         #(ribcage #(p) #((top)) #("i37242"))
                                          #(ribcage () () ())
                                          #(ribcage
                                            #(x y)
                                            #((top) (top))
-                                           #("i36920" "i36921"))
+                                           #("i37230" "i37231"))
                                          #(ribcage
                                            (emit quasivector
                                                  quasilist*
@@ -21340,13 +21276,13 @@
                                             (top)
                                             (top)
                                             (top))
-                                           ("i36828"
-                                            "i36826"
-                                            "i36824"
-                                            "i36822"
-                                            "i36820"
-                                            "i36818"
-                                            "i36816"))
+                                           ("i37138"
+                                            "i37136"
+                                            "i37134"
+                                            "i37132"
+                                            "i37130"
+                                            "i37128"
+                                            "i37126"))
                                          #(ribcage
                                            (quasiquote)
                                            ((top))
@@ -21357,21 +21293,21 @@
                                                ((top))
                                                (hygiene guile))))))
                                         (hygiene guile))
-                                     #{p 37428}#))
-                             #{tmp 37424}#)
+                                     #{p 37738}#))
+                             #{tmp 37734}#)
                            (syntax-violation
                              #f
                              "source expression failed to match any pattern"
-                             #{x 37416}#))))))
-                 #{tmp 37419}#)
-               (if (null? #{x 37416}#)
-                 #{y 37417}#
-                 (let ((#{tmp 37436}# (list #{x 37416}# #{y 37417}#)))
-                   (let ((#{tmp 37437}#
-                           ($sc-dispatch #{tmp 37436}# '(each-any any))))
-                     (if #{tmp 37437}#
+                             #{x 37726}#))))))
+                 #{tmp 37729}#)
+               (if (null? #{x 37726}#)
+                 #{y 37727}#
+                 (let ((#{tmp 37746}# (list #{x 37726}# #{y 37727}#)))
+                   (let ((#{tmp 37747}#
+                           ($sc-dispatch #{tmp 37746}# '(each-any any))))
+                     (if #{tmp 37747}#
                        (@apply
-                         (lambda (#{p 37439}# #{y 37440}#)
+                         (lambda (#{p 37749}# #{y 37750}#)
                            (cons '#(syntax-object
                                     "append"
                                     ((top)
@@ -21379,13 +21315,13 @@
                                      #(ribcage
                                        #(p y)
                                        #((top) (top))
-                                       #("i36943" "i36944"))
-                                     #(ribcage #(_) #((top)) #("i36935"))
+                                       #("i37253" "i37254"))
+                                     #(ribcage #(_) #((top)) #("i37245"))
                                      #(ribcage () () ())
                                      #(ribcage
                                        #(x y)
                                        #((top) (top))
-                                       #("i36920" "i36921"))
+                                       #("i37230" "i37231"))
                                      #(ribcage
                                        (emit quasivector
                                              quasilist*
@@ -21400,13 +21336,13 @@
                                         (top)
                                         (top)
                                         (top))
-                                       ("i36828"
-                                        "i36826"
-                                        "i36824"
-                                        "i36822"
-                                        "i36820"
-                                        "i36818"
-                                        "i36816"))
+                                       ("i37138"
+                                        "i37136"
+                                        "i37134"
+                                        "i37132"
+                                        "i37130"
+                                        "i37128"
+                                        "i37126"))
                                      #(ribcage
                                        (quasiquote)
                                        ((top))
@@ -21417,36 +21353,36 @@
                                            ((top))
                                            (hygiene guile))))))
                                     (hygiene guile))
-                                 (append #{p 37439}# (list #{y 37440}#))))
-                         #{tmp 37437}#)
+                                 (append #{p 37749}# (list #{y 37750}#))))
+                         #{tmp 37747}#)
                        (syntax-violation
                          #f
                          "source expression failed to match any pattern"
-                         #{tmp 37436}#)))))))))
-       (#{quasilist* 37090}#
-         (lambda (#{x 37444}# #{y 37445}#)
+                         #{tmp 37746}#)))))))))
+       (#{quasilist* 37400}#
+         (lambda (#{x 37754}# #{y 37755}#)
            (letrec*
-             ((#{f 37446}#
-                (lambda (#{x 37550}#)
-                  (if (null? #{x 37550}#)
-                    #{y 37445}#
-                    (#{quasicons 37088}#
-                      (car #{x 37550}#)
-                      (#{f 37446}# (cdr #{x 37550}#)))))))
-             (#{f 37446}# #{x 37444}#))))
-       (#{emit 37092}#
-         (lambda (#{x 37553}#)
-           (let ((#{tmp 37555}#
-                   ($sc-dispatch #{x 37553}# '(#(atom "quote") any))))
-             (if #{tmp 37555}#
+             ((#{f 37756}#
+                (lambda (#{x 37860}#)
+                  (if (null? #{x 37860}#)
+                    #{y 37755}#
+                    (#{quasicons 37398}#
+                      (car #{x 37860}#)
+                      (#{f 37756}# (cdr #{x 37860}#)))))))
+             (#{f 37756}# #{x 37754}#))))
+       (#{emit 37402}#
+         (lambda (#{x 37863}#)
+           (let ((#{tmp 37865}#
+                   ($sc-dispatch #{x 37863}# '(#(atom "quote") any))))
+             (if #{tmp 37865}#
                (@apply
-                 (lambda (#{x 37559}#)
+                 (lambda (#{x 37869}#)
                    (list '#(syntax-object
                             quote
                             ((top)
-                             #(ribcage #(x) #((top)) #("i37010"))
+                             #(ribcage #(x) #((top)) #("i37320"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i37007"))
+                             #(ribcage #(x) #((top)) #("i37317"))
                              #(ribcage
                                (emit quasivector
                                      quasilist*
@@ -21455,13 +21391,13 @@
                                      vquasi
                                      quasi)
                                ((top) (top) (top) (top) (top) (top) (top))
-                               ("i36828"
-                                "i36826"
-                                "i36824"
-                                "i36822"
-                                "i36820"
-                                "i36818"
-                                "i36816"))
+                               ("i37138"
+                                "i37136"
+                                "i37134"
+                                "i37132"
+                                "i37130"
+                                "i37128"
+                                "i37126"))
                              #(ribcage
                                (quasiquote)
                                ((top))
@@ -21472,32 +21408,32 @@
                                    ((top))
                                    (hygiene guile))))))
                             (hygiene guile))
-                         #{x 37559}#))
-                 #{tmp 37555}#)
-               (let ((#{tmp 37560}#
+                         #{x 37869}#))
+                 #{tmp 37865}#)
+               (let ((#{tmp 37870}#
                        ($sc-dispatch
-                         #{x 37553}#
+                         #{x 37863}#
                          '(#(atom "list") . each-any))))
-                 (if #{tmp 37560}#
+                 (if #{tmp 37870}#
                    (@apply
-                     (lambda (#{x 37564}#)
-                       (let ((#{tmp 37565}# (map #{emit 37092}# #{x 37564}#)))
-                         (let ((#{tmp 37566}#
-                                 ($sc-dispatch #{tmp 37565}# 'each-any)))
-                           (if #{tmp 37566}#
+                     (lambda (#{x 37874}#)
+                       (let ((#{tmp 37875}# (map #{emit 37402}# #{x 37874}#)))
+                         (let ((#{tmp 37876}#
+                                 ($sc-dispatch #{tmp 37875}# 'each-any)))
+                           (if #{tmp 37876}#
                              (@apply
-                               (lambda (#{ g37015 37568}#)
+                               (lambda (#{ g37325 37878}#)
                                  (cons '#(syntax-object
                                           list
                                           ((top)
                                            #(ribcage () () ())
                                            #(ribcage
-                                             #(#{ g37015}#)
-                                             #((m37016 top))
-                                             #("i37020"))
-                                           #(ribcage #(x) #((top)) #("i37013"))
+                                             #(#{ g37325}#)
+                                             #((m37326 top))
+                                             #("i37330"))
+                                           #(ribcage #(x) #((top)) #("i37323"))
                                            #(ribcage () () ())
-                                           #(ribcage #(x) #((top)) #("i37007"))
+                                           #(ribcage #(x) #((top)) #("i37317"))
                                            #(ribcage
                                              (emit quasivector
                                                    quasilist*
@@ -21512,13 +21448,13 @@
                                               (top)
                                               (top)
                                               (top))
-                                             ("i36828"
-                                              "i36826"
-                                              "i36824"
-                                              "i36822"
-                                              "i36820"
-                                              "i36818"
-                                              "i36816"))
+                                             ("i37138"
+                                              "i37136"
+                                              "i37134"
+                                              "i37132"
+                                              "i37130"
+                                              "i37128"
+                                              "i37126"))
                                            #(ribcage
                                              (quasiquote)
                                              ((top))
@@ -21529,62 +21465,62 @@
                                                  ((top))
                                                  (hygiene guile))))))
                                           (hygiene guile))
-                                       #{ g37015 37568}#))
-                               #{tmp 37566}#)
+                                       #{ g37325 37878}#))
+                               #{tmp 37876}#)
                              (syntax-violation
                                #f
                                "source expression failed to match any pattern"
-                               #{tmp 37565}#)))))
-                     #{tmp 37560}#)
-                   (let ((#{tmp 37569}#
+                               #{tmp 37875}#)))))
+                     #{tmp 37870}#)
+                   (let ((#{tmp 37879}#
                            ($sc-dispatch
-                             #{x 37553}#
+                             #{x 37863}#
                              '(#(atom "list*") . #(each+ any (any) ())))))
-                     (if #{tmp 37569}#
+                     (if #{tmp 37879}#
                        (@apply
-                         (lambda (#{x 37573}# #{y 37574}#)
+                         (lambda (#{x 37883}# #{y 37884}#)
                            (letrec*
-                             ((#{f 37575}#
-                                (lambda (#{x* 37578}#)
-                                  (if (null? #{x* 37578}#)
-                                    (#{emit 37092}# #{y 37574}#)
-                                    (let ((#{tmp 37579}#
-                                            (list (#{emit 37092}#
-                                                    (car #{x* 37578}#))
-                                                  (#{f 37575}#
-                                                    (cdr #{x* 37578}#)))))
-                                      (let ((#{tmp 37580}#
+                             ((#{f 37885}#
+                                (lambda (#{x* 37888}#)
+                                  (if (null? #{x* 37888}#)
+                                    (#{emit 37402}# #{y 37884}#)
+                                    (let ((#{tmp 37889}#
+                                            (list (#{emit 37402}#
+                                                    (car #{x* 37888}#))
+                                                  (#{f 37885}#
+                                                    (cdr #{x* 37888}#)))))
+                                      (let ((#{tmp 37890}#
                                               ($sc-dispatch
-                                                #{tmp 37579}#
+                                                #{tmp 37889}#
                                                 '(any any))))
-                                        (if #{tmp 37580}#
+                                        (if #{tmp 37890}#
                                           (@apply
-                                            (lambda (#{ g37035 37582}#
-                                                     #{ g37034 37583}#)
+                                            (lambda (#{ g37345 37892}#
+                                                     #{ g37344 37893}#)
                                               (list '#(syntax-object
                                                        cons
                                                        ((top)
                                                         #(ribcage () () ())
                                                         #(ribcage
-                                                          #(#{ g37035}#
-                                                            #{ g37034}#)
-                                                          #((m37036 top)
-                                                            (m37036 top))
-                                                          #("i37040" "i37041"))
+                                                          #(#{ g37345}#
+                                                            #{ g37344}#)
+                                                          #((m37346 top)
+                                                            (m37346 top))
+                                                          #("i37350" "i37351"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(f x*)
                                                           #((top) (top))
-                                                          #("i37029" "i37030"))
+                                                          #("i37339" "i37340"))
                                                         #(ribcage
                                                           #(x y)
                                                           #((top) (top))
-                                                          #("i37025" "i37026"))
+                                                          #("i37335" "i37336"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(x)
                                                           #((top))
-                                                          #("i37007"))
+                                                          #("i37317"))
                                                         #(ribcage
                                                           (emit quasivector
                                                                 quasilist*
@@ -21599,13 +21535,13 @@
                                                            (top)
                                                            (top)
                                                            (top))
-                                                          ("i36828"
-                                                           "i36826"
-                                                           "i36824"
-                                                           "i36822"
-                                                           "i36820"
-                                                           "i36818"
-                                                           "i36816"))
+                                                          ("i37138"
+                                                           "i37136"
+                                                           "i37134"
+                                                           "i37132"
+                                                           "i37130"
+                                                           "i37128"
+                                                           "i37126"))
                                                         #(ribcage
                                                           (quasiquote)
                                                           ((top))
@@ -21617,48 +21553,48 @@
                                                               (hygiene
                                                                 guile))))))
                                                        (hygiene guile))
-                                                    #{ g37035 37582}#
-                                                    #{ g37034 37583}#))
-                                            #{tmp 37580}#)
+                                                    #{ g37345 37892}#
+                                                    #{ g37344 37893}#))
+                                            #{tmp 37890}#)
                                           (syntax-violation
                                             #f
                                             "source expression failed to match 
any pattern"
-                                            #{tmp 37579}#))))))))
-                             (#{f 37575}# #{x 37573}#)))
-                         #{tmp 37569}#)
-                       (let ((#{tmp 37584}#
+                                            #{tmp 37889}#))))))))
+                             (#{f 37885}# #{x 37883}#)))
+                         #{tmp 37879}#)
+                       (let ((#{tmp 37894}#
                                ($sc-dispatch
-                                 #{x 37553}#
+                                 #{x 37863}#
                                  '(#(atom "append") . each-any))))
-                         (if #{tmp 37584}#
+                         (if #{tmp 37894}#
                            (@apply
-                             (lambda (#{x 37588}#)
-                               (let ((#{tmp 37589}#
-                                       (map #{emit 37092}# #{x 37588}#)))
-                                 (let ((#{tmp 37590}#
+                             (lambda (#{x 37898}#)
+                               (let ((#{tmp 37899}#
+                                       (map #{emit 37402}# #{x 37898}#)))
+                                 (let ((#{tmp 37900}#
                                          ($sc-dispatch
-                                           #{tmp 37589}#
+                                           #{tmp 37899}#
                                            'each-any)))
-                                   (if #{tmp 37590}#
+                                   (if #{tmp 37900}#
                                      (@apply
-                                       (lambda (#{ g37047 37592}#)
+                                       (lambda (#{ g37357 37902}#)
                                          (cons '#(syntax-object
                                                   append
                                                   ((top)
                                                    #(ribcage () () ())
                                                    #(ribcage
-                                                     #(#{ g37047}#)
-                                                     #((m37048 top))
-                                                     #("i37052"))
+                                                     #(#{ g37357}#)
+                                                     #((m37358 top))
+                                                     #("i37362"))
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i37045"))
+                                                     #("i37355"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i37007"))
+                                                     #("i37317"))
                                                    #(ribcage
                                                      (emit quasivector
                                                            quasilist*
@@ -21673,13 +21609,13 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                     ("i36828"
-                                                      "i36826"
-                                                      "i36824"
-                                                      "i36822"
-                                                      "i36820"
-                                                      "i36818"
-                                                      "i36816"))
+                                                     ("i37138"
+                                                      "i37136"
+                                                      "i37134"
+                                                      "i37132"
+                                                      "i37130"
+                                                      "i37128"
+                                                      "i37126"))
                                                    #(ribcage
                                                      (quasiquote)
                                                      ((top))
@@ -21690,46 +21626,46 @@
                                                          ((top))
                                                          (hygiene guile))))))
                                                   (hygiene guile))
-                                               #{ g37047 37592}#))
-                                       #{tmp 37590}#)
+                                               #{ g37357 37902}#))
+                                       #{tmp 37900}#)
                                      (syntax-violation
                                        #f
                                        "source expression failed to match any 
pattern"
-                                       #{tmp 37589}#)))))
-                             #{tmp 37584}#)
-                           (let ((#{tmp 37593}#
+                                       #{tmp 37899}#)))))
+                             #{tmp 37894}#)
+                           (let ((#{tmp 37903}#
                                    ($sc-dispatch
-                                     #{x 37553}#
+                                     #{x 37863}#
                                      '(#(atom "vector") . each-any))))
-                             (if #{tmp 37593}#
+                             (if #{tmp 37903}#
                                (@apply
-                                 (lambda (#{x 37597}#)
-                                   (let ((#{tmp 37598}#
-                                           (map #{emit 37092}# #{x 37597}#)))
-                                     (let ((#{tmp 37599}#
+                                 (lambda (#{x 37907}#)
+                                   (let ((#{tmp 37908}#
+                                           (map #{emit 37402}# #{x 37907}#)))
+                                     (let ((#{tmp 37909}#
                                              ($sc-dispatch
-                                               #{tmp 37598}#
+                                               #{tmp 37908}#
                                                'each-any)))
-                                       (if #{tmp 37599}#
+                                       (if #{tmp 37909}#
                                          (@apply
-                                           (lambda (#{ g37059 37601}#)
+                                           (lambda (#{ g37369 37911}#)
                                              (cons '#(syntax-object
                                                       vector
                                                       ((top)
                                                        #(ribcage () () ())
                                                        #(ribcage
-                                                         #(#{ g37059}#)
-                                                         #((m37060 top))
-                                                         #("i37064"))
+                                                         #(#{ g37369}#)
+                                                         #((m37370 top))
+                                                         #("i37374"))
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i37057"))
+                                                         #("i37367"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i37007"))
+                                                         #("i37317"))
                                                        #(ribcage
                                                          (emit quasivector
                                                                quasilist*
@@ -21744,13 +21680,13 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                         ("i36828"
-                                                          "i36826"
-                                                          "i36824"
-                                                          "i36822"
-                                                          "i36820"
-                                                          "i36818"
-                                                          "i36816"))
+                                                         ("i37138"
+                                                          "i37136"
+                                                          "i37134"
+                                                          "i37132"
+                                                          "i37130"
+                                                          "i37128"
+                                                          "i37126"))
                                                        #(ribcage
                                                          (quasiquote)
                                                          ((top))
@@ -21762,39 +21698,39 @@
                                                              (hygiene
                                                                guile))))))
                                                       (hygiene guile))
-                                                   #{ g37059 37601}#))
-                                           #{tmp 37599}#)
+                                                   #{ g37369 37911}#))
+                                           #{tmp 37909}#)
                                          (syntax-violation
                                            #f
                                            "source expression failed to match 
any pattern"
-                                           #{tmp 37598}#)))))
-                                 #{tmp 37593}#)
-                               (let ((#{tmp 37602}#
+                                           #{tmp 37908}#)))))
+                                 #{tmp 37903}#)
+                               (let ((#{tmp 37912}#
                                        ($sc-dispatch
-                                         #{x 37553}#
+                                         #{x 37863}#
                                          '(#(atom "list->vector") any))))
-                                 (if #{tmp 37602}#
+                                 (if #{tmp 37912}#
                                    (@apply
-                                     (lambda (#{x 37606}#)
-                                       (let ((#{tmp 37607}#
-                                               (#{emit 37092}# #{x 37606}#)))
+                                     (lambda (#{x 37916}#)
+                                       (let ((#{tmp 37917}#
+                                               (#{emit 37402}# #{x 37916}#)))
                                          (list '#(syntax-object
                                                   list->vector
                                                   ((top)
                                                    #(ribcage () () ())
                                                    #(ribcage
-                                                     #(#{ g37071}#)
-                                                     #((m37072 top))
-                                                     #("i37075"))
+                                                     #(#{ g37381}#)
+                                                     #((m37382 top))
+                                                     #("i37385"))
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i37069"))
+                                                     #("i37379"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i37007"))
+                                                     #("i37317"))
                                                    #(ribcage
                                                      (emit quasivector
                                                            quasilist*
@@ -21809,13 +21745,13 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                     ("i36828"
-                                                      "i36826"
-                                                      "i36824"
-                                                      "i36822"
-                                                      "i36820"
-                                                      "i36818"
-                                                      "i36816"))
+                                                     ("i37138"
+                                                      "i37136"
+                                                      "i37134"
+                                                      "i37132"
+                                                      "i37130"
+                                                      "i37128"
+                                                      "i37126"))
                                                    #(ribcage
                                                      (quasiquote)
                                                      ((top))
@@ -21826,83 +21762,83 @@
                                                          ((top))
                                                          (hygiene guile))))))
                                                   (hygiene guile))
-                                               #{tmp 37607}#)))
-                                     #{tmp 37602}#)
-                                   (let ((#{tmp 37610}#
+                                               #{tmp 37917}#)))
+                                     #{tmp 37912}#)
+                                   (let ((#{tmp 37920}#
                                            ($sc-dispatch
-                                             #{x 37553}#
+                                             #{x 37863}#
                                              '(#(atom "value") any))))
-                                     (if #{tmp 37610}#
+                                     (if #{tmp 37920}#
                                        (@apply
-                                         (lambda (#{x 37614}#) #{x 37614}#)
-                                         #{tmp 37610}#)
+                                         (lambda (#{x 37924}#) #{x 37924}#)
+                                         #{tmp 37920}#)
                                        (syntax-violation
                                          #f
                                          "source expression failed to match 
any pattern"
-                                         #{x 37553}#))))))))))))))))))
-      (lambda (#{x 37093}#)
-        (let ((#{tmp 37095}#
-                ($sc-dispatch #{x 37093}# '(_ any))))
-          (if #{tmp 37095}#
+                                         #{x 37863}#))))))))))))))))))
+      (lambda (#{x 37403}#)
+        (let ((#{tmp 37405}#
+                ($sc-dispatch #{x 37403}# '(_ any))))
+          (if #{tmp 37405}#
             (@apply
-              (lambda (#{e 37099}#)
-                (#{emit 37092}# (#{quasi 37086}# #{e 37099}# 0)))
-              #{tmp 37095}#)
+              (lambda (#{e 37409}#)
+                (#{emit 37402}# (#{quasi 37396}# #{e 37409}# 0)))
+              #{tmp 37405}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{x 37093}#)))))))
+              #{x 37403}#)))))))
 
 (define include
   (make-syntax-transformer
     'include
     'macro
-    (lambda (#{x 37670}#)
+    (lambda (#{x 37980}#)
       (letrec*
-        ((#{read-file 37671}#
-           (lambda (#{fn 37787}# #{k 37788}#)
-             (let ((#{p 37789}# (open-input-file #{fn 37787}#)))
+        ((#{read-file 37981}#
+           (lambda (#{fn 38097}# #{k 38098}#)
+             (let ((#{p 38099}# (open-input-file #{fn 38097}#)))
                (letrec*
-                 ((#{f 37790}#
-                    (lambda (#{x 37847}# #{result 37848}#)
-                      (if (eof-object? #{x 37847}#)
+                 ((#{f 38100}#
+                    (lambda (#{x 38157}# #{result 38158}#)
+                      (if (eof-object? #{x 38157}#)
                         (begin
-                          (close-input-port #{p 37789}#)
-                          (reverse #{result 37848}#))
-                        (#{f 37790}#
-                          (read #{p 37789}#)
-                          (cons (datum->syntax #{k 37788}# #{x 37847}#)
-                                #{result 37848}#))))))
-                 (#{f 37790}# (read #{p 37789}#) '()))))))
-        (let ((#{tmp 37673}#
-                ($sc-dispatch #{x 37670}# '(any any))))
-          (if #{tmp 37673}#
+                          (close-input-port #{p 38099}#)
+                          (reverse #{result 38158}#))
+                        (#{f 38100}#
+                          (read #{p 38099}#)
+                          (cons (datum->syntax #{k 38098}# #{x 38157}#)
+                                #{result 38158}#))))))
+                 (#{f 38100}# (read #{p 38099}#) '()))))))
+        (let ((#{tmp 37983}#
+                ($sc-dispatch #{x 37980}# '(any any))))
+          (if #{tmp 37983}#
             (@apply
-              (lambda (#{k 37677}# #{filename 37678}#)
-                (let ((#{fn 37679}# (syntax->datum #{filename 37678}#)))
-                  (let ((#{tmp 37680}#
-                          (#{read-file 37671}#
-                            #{fn 37679}#
-                            #{filename 37678}#)))
-                    (let ((#{tmp 37681}#
-                            ($sc-dispatch #{tmp 37680}# 'each-any)))
-                      (if #{tmp 37681}#
+              (lambda (#{k 37987}# #{filename 37988}#)
+                (let ((#{fn 37989}# (syntax->datum #{filename 37988}#)))
+                  (let ((#{tmp 37990}#
+                          (#{read-file 37981}#
+                            #{fn 37989}#
+                            #{filename 37988}#)))
+                    (let ((#{tmp 37991}#
+                            ($sc-dispatch #{tmp 37990}# 'each-any)))
+                      (if #{tmp 37991}#
                         (@apply
-                          (lambda (#{exp 37699}#)
+                          (lambda (#{exp 38009}#)
                             (cons '#(syntax-object
                                      begin
                                      ((top)
                                       #(ribcage () () ())
-                                      #(ribcage #(exp) #((top)) #("i37667"))
+                                      #(ribcage #(exp) #((top)) #("i37977"))
                                       #(ribcage () () ())
                                       #(ribcage () () ())
-                                      #(ribcage #(fn) #((top)) #("i37662"))
+                                      #(ribcage #(fn) #((top)) #("i37972"))
                                       #(ribcage
                                         #(k filename)
                                         #((top) (top))
-                                        #("i37658" "i37659"))
-                                      #(ribcage (read-file) ((top)) ("i37642"))
-                                      #(ribcage #(x) #((top)) #("i37641"))
+                                        #("i37968" "i37969"))
+                                      #(ribcage (read-file) ((top)) ("i37952"))
+                                      #(ribcage #(x) #((top)) #("i37951"))
                                       #(ribcage
                                         (include)
                                         ((top))
@@ -21913,54 +21849,54 @@
                                             ((top))
                                             (hygiene guile))))))
                                      (hygiene guile))
-                                  #{exp 37699}#))
-                          #{tmp 37681}#)
+                                  #{exp 38009}#))
+                          #{tmp 37991}#)
                         (syntax-violation
                           #f
                           "source expression failed to match any pattern"
-                          #{tmp 37680}#))))))
-              #{tmp 37673}#)
+                          #{tmp 37990}#))))))
+              #{tmp 37983}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{x 37670}#)))))))
+              #{x 37980}#)))))))
 
 (define include-from-path
   (make-syntax-transformer
     'include-from-path
     'macro
-    (lambda (#{x 37868}#)
-      (let ((#{tmp 37870}#
-              ($sc-dispatch #{x 37868}# '(any any))))
-        (if #{tmp 37870}#
+    (lambda (#{x 38178}#)
+      (let ((#{tmp 38180}#
+              ($sc-dispatch #{x 38178}# '(any any))))
+        (if #{tmp 38180}#
           (@apply
-            (lambda (#{k 37874}# #{filename 37875}#)
-              (let ((#{fn 37876}# (syntax->datum #{filename 37875}#)))
-                (let ((#{tmp 37877}#
+            (lambda (#{k 38184}# #{filename 38185}#)
+              (let ((#{fn 38186}# (syntax->datum #{filename 38185}#)))
+                (let ((#{tmp 38187}#
                         (datum->syntax
-                          #{filename 37875}#
-                          (let ((#{t 37880}# (%search-load-path #{fn 37876}#)))
-                            (if #{t 37880}#
-                              #{t 37880}#
+                          #{filename 38185}#
+                          (let ((#{t 38190}# (%search-load-path #{fn 38186}#)))
+                            (if #{t 38190}#
+                              #{t 38190}#
                               (syntax-violation
                                 'include-from-path
                                 "file not found in path"
-                                #{x 37868}#
-                                #{filename 37875}#))))))
+                                #{x 38178}#
+                                #{filename 38185}#))))))
                   (list '#(syntax-object
                            include
                            ((top)
                             #(ribcage () () ())
-                            #(ribcage #(fn) #((top)) #("i37862"))
+                            #(ribcage #(fn) #((top)) #("i38172"))
                             #(ribcage () () ())
                             #(ribcage () () ())
-                            #(ribcage #(fn) #((top)) #("i37858"))
+                            #(ribcage #(fn) #((top)) #("i38168"))
                             #(ribcage
                               #(k filename)
                               #((top) (top))
-                              #("i37854" "i37855"))
+                              #("i38164" "i38165"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i37851"))
+                            #(ribcage #(x) #((top)) #("i38161"))
                             #(ribcage
                               (include-from-path)
                               ((top))
@@ -21971,53 +21907,53 @@
                                   ((top))
                                   (hygiene guile))))))
                            (hygiene guile))
-                        #{tmp 37877}#))))
-            #{tmp 37870}#)
+                        #{tmp 38187}#))))
+            #{tmp 38180}#)
           (syntax-violation
             #f
             "source expression failed to match any pattern"
-            #{x 37868}#))))))
+            #{x 38178}#))))))
 
 (define unquote
   (make-syntax-transformer
     'unquote
     'macro
-    (lambda (#{x 37890}#)
+    (lambda (#{x 38200}#)
       (syntax-violation
         'unquote
         "expression not valid outside of quasiquote"
-        #{x 37890}#))))
+        #{x 38200}#))))
 
 (define unquote-splicing
   (make-syntax-transformer
     'unquote-splicing
     'macro
-    (lambda (#{x 37894}#)
+    (lambda (#{x 38204}#)
       (syntax-violation
         'unquote-splicing
         "expression not valid outside of quasiquote"
-        #{x 37894}#))))
+        #{x 38204}#))))
 
 (define case
   (make-syntax-transformer
     'case
     'macro
-    (lambda (#{x 37951}#)
-      (let ((#{tmp 37953}#
+    (lambda (#{x 38261}#)
+      (let ((#{tmp 38263}#
               ($sc-dispatch
-                #{x 37951}#
+                #{x 38261}#
                 '(_ any any . each-any))))
-        (if #{tmp 37953}#
+        (if #{tmp 38263}#
           (@apply
-            (lambda (#{e 37957}# #{m1 37958}# #{m2 37959}#)
-              (let ((#{tmp 37960}#
+            (lambda (#{e 38267}# #{m1 38268}# #{m2 38269}#)
+              (let ((#{tmp 38270}#
                       (letrec*
-                        ((#{f 38021}#
-                           (lambda (#{clause 38024}# #{clauses 38025}#)
-                             (if (null? #{clauses 38025}#)
-                               (let ((#{tmp 38027}#
+                        ((#{f 38331}#
+                           (lambda (#{clause 38334}# #{clauses 38335}#)
+                             (if (null? #{clauses 38335}#)
+                               (let ((#{tmp 38337}#
                                        ($sc-dispatch
-                                         #{clause 38024}#
+                                         #{clause 38334}#
                                          '(#(free-id
                                              #(syntax-object
                                                else
@@ -22026,20 +21962,20 @@
                                                 #(ribcage
                                                   #(f clause clauses)
                                                   #((top) (top) (top))
-                                                  #("i37910"
-                                                    "i37911"
-                                                    "i37912"))
+                                                  #("i38220"
+                                                    "i38221"
+                                                    "i38222"))
                                                 #(ribcage
                                                   #(e m1 m2)
                                                   #((top) (top) (top))
-                                                  #("i37900"
-                                                    "i37901"
-                                                    "i37902"))
+                                                  #("i38210"
+                                                    "i38211"
+                                                    "i38212"))
                                                 #(ribcage () () ())
                                                 #(ribcage
                                                   #(x)
                                                   #((top))
-                                                  #("i37897"))
+                                                  #("i38207"))
                                                 #(ribcage
                                                   (case)
                                                   ((top))
@@ -22053,34 +21989,34 @@
                                            any
                                            .
                                            each-any))))
-                                 (if #{tmp 38027}#
+                                 (if #{tmp 38337}#
                                    (@apply
-                                     (lambda (#{e1 38031}# #{e2 38032}#)
+                                     (lambda (#{e1 38341}# #{e2 38342}#)
                                        (cons '#(syntax-object
                                                 begin
                                                 ((top)
                                                  #(ribcage
                                                    #(e1 e2)
                                                    #((top) (top))
-                                                   #("i37919" "i37920"))
+                                                   #("i38229" "i38230"))
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(f clause clauses)
                                                    #((top) (top) (top))
-                                                   #("i37910"
-                                                     "i37911"
-                                                     "i37912"))
+                                                   #("i38220"
+                                                     "i38221"
+                                                     "i38222"))
                                                  #(ribcage
                                                    #(e m1 m2)
                                                    #((top) (top) (top))
-                                                   #("i37900"
-                                                     "i37901"
-                                                     "i37902"))
+                                                   #("i38210"
+                                                     "i38211"
+                                                     "i38212"))
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(x)
                                                    #((top))
-                                                   #("i37897"))
+                                                   #("i38207"))
                                                  #(ribcage
                                                    (case)
                                                    ((top))
@@ -22091,44 +22027,44 @@
                                                        ((top))
                                                        (hygiene guile))))))
                                                 (hygiene guile))
-                                             (cons #{e1 38031}# #{e2 38032}#)))
-                                     #{tmp 38027}#)
-                                   (let ((#{tmp 38033}#
+                                             (cons #{e1 38341}# #{e2 38342}#)))
+                                     #{tmp 38337}#)
+                                   (let ((#{tmp 38343}#
                                            ($sc-dispatch
-                                             #{clause 38024}#
+                                             #{clause 38334}#
                                              '(each-any any . each-any))))
-                                     (if #{tmp 38033}#
+                                     (if #{tmp 38343}#
                                        (@apply
-                                         (lambda (#{k 38037}#
-                                                  #{e1 38038}#
-                                                  #{e2 38039}#)
+                                         (lambda (#{k 38347}#
+                                                  #{e1 38348}#
+                                                  #{e2 38349}#)
                                            (list '#(syntax-object
                                                     if
                                                     ((top)
                                                      #(ribcage
                                                        #(k e1 e2)
                                                        #((top) (top) (top))
-                                                       #("i37925"
-                                                         "i37926"
-                                                         "i37927"))
+                                                       #("i38235"
+                                                         "i38236"
+                                                         "i38237"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(f clause clauses)
                                                        #((top) (top) (top))
-                                                       #("i37910"
-                                                         "i37911"
-                                                         "i37912"))
+                                                       #("i38220"
+                                                         "i38221"
+                                                         "i38222"))
                                                      #(ribcage
                                                        #(e m1 m2)
                                                        #((top) (top) (top))
-                                                       #("i37900"
-                                                         "i37901"
-                                                         "i37902"))
+                                                       #("i38210"
+                                                         "i38211"
+                                                         "i38212"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(x)
                                                        #((top))
-                                                       #("i37897"))
+                                                       #("i38207"))
                                                      #(ribcage
                                                        (case)
                                                        ((top))
@@ -22147,9 +22083,9 @@
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i37925"
-                                                               "i37926"
-                                                               "i37927"))
+                                                             #("i38235"
+                                                               "i38236"
+                                                               "i38237"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(f
@@ -22158,22 +22094,22 @@
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i37910"
-                                                               "i37911"
-                                                               "i37912"))
+                                                             #("i38220"
+                                                               "i38221"
+                                                               "i38222"))
                                                            #(ribcage
                                                              #(e m1 m2)
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i37900"
-                                                               "i37901"
-                                                               "i37902"))
+                                                             #("i38210"
+                                                               "i38211"
+                                                               "i38212"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(x)
                                                              #((top))
-                                                             #("i37897"))
+                                                             #("i38207"))
                                                            #(ribcage
                                                              (case)
                                                              ((top))
@@ -22193,9 +22129,9 @@
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i37925"
-                                                               "i37926"
-                                                               "i37927"))
+                                                             #("i38235"
+                                                               "i38236"
+                                                               "i38237"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(f
@@ -22204,22 +22140,22 @@
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i37910"
-                                                               "i37911"
-                                                               "i37912"))
+                                                             #("i38220"
+                                                               "i38221"
+                                                               "i38222"))
                                                            #(ribcage
                                                              #(e m1 m2)
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i37900"
-                                                               "i37901"
-                                                               "i37902"))
+                                                             #("i38210"
+                                                               "i38211"
+                                                               "i38212"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(x)
                                                              #((top))
-                                                             #("i37897"))
+                                                             #("i38207"))
                                                            #(ribcage
                                                              (case)
                                                              ((top))
@@ -22239,9 +22175,9 @@
                                                                    #((top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i37925"
-                                                                     "i37926"
-                                                                     "i37927"))
+                                                                   #("i38235"
+                                                                     "i38236"
+                                                                     "i38237"))
                                                                  #(ribcage
                                                                    ()
                                                                    ()
@@ -22253,17 +22189,17 @@
                                                                    #((top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i37910"
-                                                                     "i37911"
-                                                                     "i37912"))
+                                                                   #("i38220"
+                                                                     "i38221"
+                                                                     "i38222"))
                                                                  #(ribcage
                                                                    #(e m1 m2)
                                                                    #((top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i37900"
-                                                                     "i37901"
-                                                                     "i37902"))
+                                                                   #("i38210"
+                                                                     "i38211"
+                                                                     "i38212"))
                                                                  #(ribcage
                                                                    ()
                                                                    ()
@@ -22271,7 +22207,7 @@
                                                                  #(ribcage
                                                                    #(x)
                                                                    #((top))
-                                                                   #("i37897"))
+                                                                   #("i38207"))
                                                                  #(ribcage
                                                                    (case)
                                                                    ((top))
@@ -22285,7 +22221,7 @@
                                                                          
guile))))))
                                                                 (hygiene
                                                                   guile))
-                                                             #{k 38037}#))
+                                                             #{k 38347}#))
                                                  (cons '#(syntax-object
                                                           begin
                                                           ((top)
@@ -22294,9 +22230,9 @@
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i37925"
-                                                               "i37926"
-                                                               "i37927"))
+                                                             #("i38235"
+                                                               "i38236"
+                                                               "i38237"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(f
@@ -22305,22 +22241,22 @@
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i37910"
-                                                               "i37911"
-                                                               "i37912"))
+                                                             #("i38220"
+                                                               "i38221"
+                                                               "i38222"))
                                                            #(ribcage
                                                              #(e m1 m2)
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i37900"
-                                                               "i37901"
-                                                               "i37902"))
+                                                             #("i38210"
+                                                               "i38211"
+                                                               "i38212"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(x)
                                                              #((top))
-                                                             #("i37897"))
+                                                             #("i38207"))
                                                            #(ribcage
                                                              (case)
                                                              ((top))
@@ -22332,59 +22268,59 @@
                                                                  (hygiene
                                                                    guile))))))
                                                           (hygiene guile))
-                                                       (cons #{e1 38038}#
-                                                             #{e2 38039}#))))
-                                         #{tmp 38033}#)
+                                                       (cons #{e1 38348}#
+                                                             #{e2 38349}#))))
+                                         #{tmp 38343}#)
                                        (syntax-violation
                                          'case
                                          "bad clause"
-                                         #{x 37951}#
-                                         #{clause 38024}#)))))
-                               (let ((#{tmp 38047}#
-                                       (#{f 38021}#
-                                         (car #{clauses 38025}#)
-                                         (cdr #{clauses 38025}#))))
-                                 (let ((#{tmp 38050}#
+                                         #{x 38261}#
+                                         #{clause 38334}#)))))
+                               (let ((#{tmp 38357}#
+                                       (#{f 38331}#
+                                         (car #{clauses 38335}#)
+                                         (cdr #{clauses 38335}#))))
+                                 (let ((#{tmp 38360}#
                                          ($sc-dispatch
-                                           #{clause 38024}#
+                                           #{clause 38334}#
                                            '(each-any any . each-any))))
-                                   (if #{tmp 38050}#
+                                   (if #{tmp 38360}#
                                      (@apply
-                                       (lambda (#{k 38054}#
-                                                #{e1 38055}#
-                                                #{e2 38056}#)
+                                       (lambda (#{k 38364}#
+                                                #{e1 38365}#
+                                                #{e2 38366}#)
                                          (list '#(syntax-object
                                                   if
                                                   ((top)
                                                    #(ribcage
                                                      #(k e1 e2)
                                                      #((top) (top) (top))
-                                                     #("i37941"
-                                                       "i37942"
-                                                       "i37943"))
+                                                     #("i38251"
+                                                       "i38252"
+                                                       "i38253"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(rest)
                                                      #((top))
-                                                     #("i37937"))
+                                                     #("i38247"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(f clause clauses)
                                                      #((top) (top) (top))
-                                                     #("i37910"
-                                                       "i37911"
-                                                       "i37912"))
+                                                     #("i38220"
+                                                       "i38221"
+                                                       "i38222"))
                                                    #(ribcage
                                                      #(e m1 m2)
                                                      #((top) (top) (top))
-                                                     #("i37900"
-                                                       "i37901"
-                                                       "i37902"))
+                                                     #("i38210"
+                                                       "i38211"
+                                                       "i38212"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i37897"))
+                                                     #("i38207"))
                                                    #(ribcage
                                                      (case)
                                                      ((top))
@@ -22401,32 +22337,32 @@
                                                          #(ribcage
                                                            #(k e1 e2)
                                                            #((top) (top) (top))
-                                                           #("i37941"
-                                                             "i37942"
-                                                             "i37943"))
+                                                           #("i38251"
+                                                             "i38252"
+                                                             "i38253"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(rest)
                                                            #((top))
-                                                           #("i37937"))
+                                                           #("i38247"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(f clause clauses)
                                                            #((top) (top) (top))
-                                                           #("i37910"
-                                                             "i37911"
-                                                             "i37912"))
+                                                           #("i38220"
+                                                             "i38221"
+                                                             "i38222"))
                                                          #(ribcage
                                                            #(e m1 m2)
                                                            #((top) (top) (top))
-                                                           #("i37900"
-                                                             "i37901"
-                                                             "i37902"))
+                                                           #("i38210"
+                                                             "i38211"
+                                                             "i38212"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i37897"))
+                                                           #("i38207"))
                                                          #(ribcage
                                                            (case)
                                                            ((top))
@@ -22444,32 +22380,32 @@
                                                          #(ribcage
                                                            #(k e1 e2)
                                                            #((top) (top) (top))
-                                                           #("i37941"
-                                                             "i37942"
-                                                             "i37943"))
+                                                           #("i38251"
+                                                             "i38252"
+                                                             "i38253"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(rest)
                                                            #((top))
-                                                           #("i37937"))
+                                                           #("i38247"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(f clause clauses)
                                                            #((top) (top) (top))
-                                                           #("i37910"
-                                                             "i37911"
-                                                             "i37912"))
+                                                           #("i38220"
+                                                             "i38221"
+                                                             "i38222"))
                                                          #(ribcage
                                                            #(e m1 m2)
                                                            #((top) (top) (top))
-                                                           #("i37900"
-                                                             "i37901"
-                                                             "i37902"))
+                                                           #("i38210"
+                                                             "i38211"
+                                                             "i38212"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i37897"))
+                                                           #("i38207"))
                                                          #(ribcage
                                                            (case)
                                                            ((top))
@@ -22489,9 +22425,9 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i37941"
-                                                                   "i37942"
-                                                                   "i37943"))
+                                                                 #("i38251"
+                                                                   "i38252"
+                                                                   "i38253"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -22499,7 +22435,7 @@
                                                                #(ribcage
                                                                  #(rest)
                                                                  #((top))
-                                                                 #("i37937"))
+                                                                 #("i38247"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -22511,17 +22447,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i37910"
-                                                                   "i37911"
-                                                                   "i37912"))
+                                                                 #("i38220"
+                                                                   "i38221"
+                                                                   "i38222"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i37900"
-                                                                   "i37901"
-                                                                   "i37902"))
+                                                                 #("i38210"
+                                                                   "i38211"
+                                                                   "i38212"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -22529,7 +22465,7 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i37897"))
+                                                                 #("i38207"))
                                                                #(ribcage
                                                                  (case)
                                                                  ((top))
@@ -22542,39 +22478,39 @@
                                                                      (hygiene
                                                                        
guile))))))
                                                               (hygiene guile))
-                                                           #{k 38054}#))
+                                                           #{k 38364}#))
                                                (cons '#(syntax-object
                                                         begin
                                                         ((top)
                                                          #(ribcage
                                                            #(k e1 e2)
                                                            #((top) (top) (top))
-                                                           #("i37941"
-                                                             "i37942"
-                                                             "i37943"))
+                                                           #("i38251"
+                                                             "i38252"
+                                                             "i38253"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(rest)
                                                            #((top))
-                                                           #("i37937"))
+                                                           #("i38247"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(f clause clauses)
                                                            #((top) (top) (top))
-                                                           #("i37910"
-                                                             "i37911"
-                                                             "i37912"))
+                                                           #("i38220"
+                                                             "i38221"
+                                                             "i38222"))
                                                          #(ribcage
                                                            #(e m1 m2)
                                                            #((top) (top) (top))
-                                                           #("i37900"
-                                                             "i37901"
-                                                             "i37902"))
+                                                           #("i38210"
+                                                             "i38211"
+                                                             "i38212"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i37897"))
+                                                           #("i38207"))
                                                          #(ribcage
                                                            (case)
                                                            ((top))
@@ -22586,28 +22522,28 @@
                                                                (hygiene
                                                                  guile))))))
                                                         (hygiene guile))
-                                                     (cons #{e1 38055}#
-                                                           #{e2 38056}#))
-                                               #{tmp 38047}#))
-                                       #{tmp 38050}#)
+                                                     (cons #{e1 38365}#
+                                                           #{e2 38366}#))
+                                               #{tmp 38357}#))
+                                       #{tmp 38360}#)
                                      (syntax-violation
                                        'case
                                        "bad clause"
-                                       #{x 37951}#
-                                       #{clause 38024}#))))))))
-                        (#{f 38021}# #{m1 37958}# #{m2 37959}#))))
-                (let ((#{body 37961}# #{tmp 37960}#))
+                                       #{x 38261}#
+                                       #{clause 38334}#))))))))
+                        (#{f 38331}# #{m1 38268}# #{m2 38269}#))))
+                (let ((#{body 38271}# #{tmp 38270}#))
                   (list '#(syntax-object
                            let
                            ((top)
                             #(ribcage () () ())
-                            #(ribcage #(body) #((top)) #("i37908"))
+                            #(ribcage #(body) #((top)) #("i38218"))
                             #(ribcage
                               #(e m1 m2)
                               #((top) (top) (top))
-                              #("i37900" "i37901" "i37902"))
+                              #("i38210" "i38211" "i38212"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i37897"))
+                            #(ribcage #(x) #((top)) #("i38207"))
                             #(ribcage
                               (case)
                               ((top))
@@ -22622,13 +22558,13 @@
                                        t
                                        ((top)
                                         #(ribcage () () ())
-                                        #(ribcage #(body) #((top)) #("i37908"))
+                                        #(ribcage #(body) #((top)) #("i38218"))
                                         #(ribcage
                                           #(e m1 m2)
                                           #((top) (top) (top))
-                                          #("i37900" "i37901" "i37902"))
+                                          #("i38210" "i38211" "i38212"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i37897"))
+                                        #(ribcage #(x) #((top)) #("i38207"))
                                         #(ribcage
                                           (case)
                                           ((top))
@@ -22639,46 +22575,46 @@
                                               ((top))
                                               (hygiene guile))))))
                                        (hygiene guile))
-                                    #{e 37957}#))
-                        #{body 37961}#))))
-            #{tmp 37953}#)
+                                    #{e 38267}#))
+                        #{body 38271}#))))
+            #{tmp 38263}#)
           (syntax-violation
             #f
             "source expression failed to match any pattern"
-            #{x 37951}#))))))
+            #{x 38261}#))))))
 
 (define make-variable-transformer
-  (lambda (#{proc 38075}#)
-    (if (procedure? #{proc 38075}#)
+  (lambda (#{proc 38385}#)
+    (if (procedure? #{proc 38385}#)
       (letrec*
-        ((#{trans 38076}#
-           (lambda (#{x 38082}#)
-             (#{proc 38075}# #{x 38082}#))))
+        ((#{trans 38386}#
+           (lambda (#{x 38392}#)
+             (#{proc 38385}# #{x 38392}#))))
         (begin
           (set-procedure-property!
-            #{trans 38076}#
+            #{trans 38386}#
             'variable-transformer
             #t)
-          #{trans 38076}#))
+          #{trans 38386}#))
       (error "variable transformer not a procedure"
-             #{proc 38075}#))))
+             #{proc 38385}#))))
 
 (define identifier-syntax
   (make-syntax-transformer
     'identifier-syntax
     'macro
-    (lambda (#{x 38115}#)
-      (let ((#{tmp 38117}#
-              ($sc-dispatch #{x 38115}# '(_ any))))
-        (if #{tmp 38117}#
+    (lambda (#{x 38425}#)
+      (let ((#{tmp 38427}#
+              ($sc-dispatch #{x 38425}# '(_ any))))
+        (if #{tmp 38427}#
           (@apply
-            (lambda (#{e 38121}#)
+            (lambda (#{e 38431}#)
               (list '#(syntax-object
                        lambda
                        ((top)
-                        #(ribcage #(e) #((top)) #("i38090"))
+                        #(ribcage #(e) #((top)) #("i38400"))
                         #(ribcage () () ())
-                        #(ribcage #(x) #((top)) #("i38087"))
+                        #(ribcage #(x) #((top)) #("i38397"))
                         #(ribcage
                           (identifier-syntax)
                           ((top))
@@ -22692,9 +22628,9 @@
                     '(#(syntax-object
                         x
                         ((top)
-                         #(ribcage #(e) #((top)) #("i38090"))
+                         #(ribcage #(e) #((top)) #("i38400"))
                          #(ribcage () () ())
-                         #(ribcage #(x) #((top)) #("i38087"))
+                         #(ribcage #(x) #((top)) #("i38397"))
                          #(ribcage
                            (identifier-syntax)
                            ((top))
@@ -22708,9 +22644,9 @@
                     '#((#(syntax-object
                           macro-type
                           ((top)
-                           #(ribcage #(e) #((top)) #("i38090"))
+                           #(ribcage #(e) #((top)) #("i38400"))
                            #(ribcage () () ())
-                           #(ribcage #(x) #((top)) #("i38087"))
+                           #(ribcage #(x) #((top)) #("i38397"))
                            #(ribcage
                              (identifier-syntax)
                              ((top))
@@ -22725,9 +22661,9 @@
                         #(syntax-object
                           identifier-syntax
                           ((top)
-                           #(ribcage #(e) #((top)) #("i38090"))
+                           #(ribcage #(e) #((top)) #("i38400"))
                            #(ribcage () () ())
-                           #(ribcage #(x) #((top)) #("i38087"))
+                           #(ribcage #(x) #((top)) #("i38397"))
                            #(ribcage
                              (identifier-syntax)
                              ((top))
@@ -22741,9 +22677,9 @@
                     (list '#(syntax-object
                              syntax-case
                              ((top)
-                              #(ribcage #(e) #((top)) #("i38090"))
+                              #(ribcage #(e) #((top)) #("i38400"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i38087"))
+                              #(ribcage #(x) #((top)) #("i38397"))
                               #(ribcage
                                 (identifier-syntax)
                                 ((top))
@@ -22757,9 +22693,9 @@
                           '#(syntax-object
                              x
                              ((top)
-                              #(ribcage #(e) #((top)) #("i38090"))
+                              #(ribcage #(e) #((top)) #("i38400"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i38087"))
+                              #(ribcage #(x) #((top)) #("i38397"))
                               #(ribcage
                                 (identifier-syntax)
                                 ((top))
@@ -22774,9 +22710,9 @@
                           (list '#(syntax-object
                                    id
                                    ((top)
-                                    #(ribcage #(e) #((top)) #("i38090"))
+                                    #(ribcage #(e) #((top)) #("i38400"))
                                     #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i38087"))
+                                    #(ribcage #(x) #((top)) #("i38397"))
                                     #(ribcage
                                       (identifier-syntax)
                                       ((top))
@@ -22790,9 +22726,9 @@
                                 '(#(syntax-object
                                     identifier?
                                     ((top)
-                                     #(ribcage #(e) #((top)) #("i38090"))
+                                     #(ribcage #(e) #((top)) #("i38400"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i38087"))
+                                     #(ribcage #(x) #((top)) #("i38397"))
                                      #(ribcage
                                        (identifier-syntax)
                                        ((top))
@@ -22806,9 +22742,9 @@
                                   (#(syntax-object
                                      syntax
                                      ((top)
-                                      #(ribcage #(e) #((top)) #("i38090"))
+                                      #(ribcage #(e) #((top)) #("i38400"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i38087"))
+                                      #(ribcage #(x) #((top)) #("i38397"))
                                       #(ribcage
                                         (identifier-syntax)
                                         ((top))
@@ -22822,9 +22758,9 @@
                                    #(syntax-object
                                      id
                                      ((top)
-                                      #(ribcage #(e) #((top)) #("i38090"))
+                                      #(ribcage #(e) #((top)) #("i38400"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i38087"))
+                                      #(ribcage #(x) #((top)) #("i38397"))
                                       #(ribcage
                                         (identifier-syntax)
                                         ((top))
@@ -22838,9 +22774,9 @@
                                 (list '#(syntax-object
                                          syntax
                                          ((top)
-                                          #(ribcage #(e) #((top)) #("i38090"))
+                                          #(ribcage #(e) #((top)) #("i38400"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i38087"))
+                                          #(ribcage #(x) #((top)) #("i38397"))
                                           #(ribcage
                                             (identifier-syntax)
                                             ((top))
@@ -22851,13 +22787,13 @@
                                                 ((top))
                                                 (hygiene guile))))))
                                          (hygiene guile))
-                                      #{e 38121}#))
+                                      #{e 38431}#))
                           (list '(#(syntax-object
                                     _
                                     ((top)
-                                     #(ribcage #(e) #((top)) #("i38090"))
+                                     #(ribcage #(e) #((top)) #("i38400"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i38087"))
+                                     #(ribcage #(x) #((top)) #("i38397"))
                                      #(ribcage
                                        (identifier-syntax)
                                        ((top))
@@ -22871,9 +22807,9 @@
                                   #(syntax-object
                                     x
                                     ((top)
-                                     #(ribcage #(e) #((top)) #("i38090"))
+                                     #(ribcage #(e) #((top)) #("i38400"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i38087"))
+                                     #(ribcage #(x) #((top)) #("i38397"))
                                      #(ribcage
                                        (identifier-syntax)
                                        ((top))
@@ -22887,9 +22823,9 @@
                                   #(syntax-object
                                     ...
                                     ((top)
-                                     #(ribcage #(e) #((top)) #("i38090"))
+                                     #(ribcage #(e) #((top)) #("i38400"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i38087"))
+                                     #(ribcage #(x) #((top)) #("i38397"))
                                      #(ribcage
                                        (identifier-syntax)
                                        ((top))
@@ -22903,9 +22839,9 @@
                                 (list '#(syntax-object
                                          syntax
                                          ((top)
-                                          #(ribcage #(e) #((top)) #("i38090"))
+                                          #(ribcage #(e) #((top)) #("i38400"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i38087"))
+                                          #(ribcage #(x) #((top)) #("i38397"))
                                           #(ribcage
                                             (identifier-syntax)
                                             ((top))
@@ -22916,19 +22852,19 @@
                                                 ((top))
                                                 (hygiene guile))))))
                                          (hygiene guile))
-                                      (cons #{e 38121}#
+                                      (cons #{e 38431}#
                                             '(#(syntax-object
                                                 x
                                                 ((top)
                                                  #(ribcage
                                                    #(e)
                                                    #((top))
-                                                   #("i38090"))
+                                                   #("i38400"))
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(x)
                                                    #((top))
-                                                   #("i38087"))
+                                                   #("i38397"))
                                                  #(ribcage
                                                    (identifier-syntax)
                                                    ((top))
@@ -22945,12 +22881,12 @@
                                                  #(ribcage
                                                    #(e)
                                                    #((top))
-                                                   #("i38090"))
+                                                   #("i38400"))
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(x)
                                                    #((top))
-                                                   #("i38087"))
+                                                   #("i38397"))
                                                  #(ribcage
                                                    (identifier-syntax)
                                                    ((top))
@@ -22961,17 +22897,17 @@
                                                        ((top))
                                                        (hygiene guile))))))
                                                 (hygiene guile)))))))))
-            #{tmp 38117}#)
-          (let ((#{tmp 38122}#
+            #{tmp 38427}#)
+          (let ((#{tmp 38432}#
                   ($sc-dispatch
-                    #{x 38115}#
+                    #{x 38425}#
                     '(_ (any any)
                         ((#(free-id
                             #(syntax-object
                               set!
                               ((top)
                                #(ribcage () () ())
-                               #(ribcage #(x) #((top)) #("i38087"))
+                               #(ribcage #(x) #((top)) #("i38397"))
                                #(ribcage
                                  (identifier-syntax)
                                  ((top))
@@ -22985,33 +22921,33 @@
                           any
                           any)
                          any)))))
-            (if (if #{tmp 38122}#
+            (if (if #{tmp 38432}#
                   (@apply
-                    (lambda (#{id 38126}#
-                             #{exp1 38127}#
-                             #{var 38128}#
-                             #{val 38129}#
-                             #{exp2 38130}#)
-                      (if (identifier? #{id 38126}#)
-                        (identifier? #{var 38128}#)
+                    (lambda (#{id 38436}#
+                             #{exp1 38437}#
+                             #{var 38438}#
+                             #{val 38439}#
+                             #{exp2 38440}#)
+                      (if (identifier? #{id 38436}#)
+                        (identifier? #{var 38438}#)
                         #f))
-                    #{tmp 38122}#)
+                    #{tmp 38432}#)
                   #f)
               (@apply
-                (lambda (#{id 38131}#
-                         #{exp1 38132}#
-                         #{var 38133}#
-                         #{val 38134}#
-                         #{exp2 38135}#)
+                (lambda (#{id 38441}#
+                         #{exp1 38442}#
+                         #{var 38443}#
+                         #{val 38444}#
+                         #{exp2 38445}#)
                   (list '#(syntax-object
                            make-variable-transformer
                            ((top)
                             #(ribcage
                               #(id exp1 var val exp2)
                               #((top) (top) (top) (top) (top))
-                              #("i38105" "i38106" "i38107" "i38108" "i38109"))
+                              #("i38415" "i38416" "i38417" "i38418" "i38419"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i38087"))
+                            #(ribcage #(x) #((top)) #("i38397"))
                             #(ribcage
                               (identifier-syntax)
                               ((top))
@@ -23028,13 +22964,13 @@
                                   #(ribcage
                                     #(id exp1 var val exp2)
                                     #((top) (top) (top) (top) (top))
-                                    #("i38105"
-                                      "i38106"
-                                      "i38107"
-                                      "i38108"
-                                      "i38109"))
+                                    #("i38415"
+                                      "i38416"
+                                      "i38417"
+                                      "i38418"
+                                      "i38419"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i38087"))
+                                  #(ribcage #(x) #((top)) #("i38397"))
                                   #(ribcage
                                     (identifier-syntax)
                                     ((top))
@@ -23051,13 +22987,13 @@
                                    #(ribcage
                                      #(id exp1 var val exp2)
                                      #((top) (top) (top) (top) (top))
-                                     #("i38105"
-                                       "i38106"
-                                       "i38107"
-                                       "i38108"
-                                       "i38109"))
+                                     #("i38415"
+                                       "i38416"
+                                       "i38417"
+                                       "i38418"
+                                       "i38419"))
                                    #(ribcage () () ())
-                                   #(ribcage #(x) #((top)) #("i38087"))
+                                   #(ribcage #(x) #((top)) #("i38397"))
                                    #(ribcage
                                      (identifier-syntax)
                                      ((top))
@@ -23074,13 +23010,13 @@
                                      #(ribcage
                                        #(id exp1 var val exp2)
                                        #((top) (top) (top) (top) (top))
-                                       #("i38105"
-                                         "i38106"
-                                         "i38107"
-                                         "i38108"
-                                         "i38109"))
+                                       #("i38415"
+                                         "i38416"
+                                         "i38417"
+                                         "i38418"
+                                         "i38419"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i38087"))
+                                     #(ribcage #(x) #((top)) #("i38397"))
                                      #(ribcage
                                        (identifier-syntax)
                                        ((top))
@@ -23098,13 +23034,13 @@
                                      #(ribcage
                                        #(id exp1 var val exp2)
                                        #((top) (top) (top) (top) (top))
-                                       #("i38105"
-                                         "i38106"
-                                         "i38107"
-                                         "i38108"
-                                         "i38109"))
+                                       #("i38415"
+                                         "i38416"
+                                         "i38417"
+                                         "i38418"
+                                         "i38419"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i38087"))
+                                     #(ribcage #(x) #((top)) #("i38397"))
                                      #(ribcage
                                        (identifier-syntax)
                                        ((top))
@@ -23121,13 +23057,13 @@
                                         #(ribcage
                                           #(id exp1 var val exp2)
                                           #((top) (top) (top) (top) (top))
-                                          #("i38105"
-                                            "i38106"
-                                            "i38107"
-                                            "i38108"
-                                            "i38109"))
+                                          #("i38415"
+                                            "i38416"
+                                            "i38417"
+                                            "i38418"
+                                            "i38419"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i38087"))
+                                        #(ribcage #(x) #((top)) #("i38397"))
                                         #(ribcage
                                           (identifier-syntax)
                                           ((top))
@@ -23144,13 +23080,13 @@
                                         #(ribcage
                                           #(id exp1 var val exp2)
                                           #((top) (top) (top) (top) (top))
-                                          #("i38105"
-                                            "i38106"
-                                            "i38107"
-                                            "i38108"
-                                            "i38109"))
+                                          #("i38415"
+                                            "i38416"
+                                            "i38417"
+                                            "i38418"
+                                            "i38419"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i38087"))
+                                        #(ribcage #(x) #((top)) #("i38397"))
                                         #(ribcage
                                           (identifier-syntax)
                                           ((top))
@@ -23167,13 +23103,13 @@
                                          #(ribcage
                                            #(id exp1 var val exp2)
                                            #((top) (top) (top) (top) (top))
-                                           #("i38105"
-                                             "i38106"
-                                             "i38107"
-                                             "i38108"
-                                             "i38109"))
+                                           #("i38415"
+                                             "i38416"
+                                             "i38417"
+                                             "i38418"
+                                             "i38419"))
                                          #(ribcage () () ())
-                                         #(ribcage #(x) #((top)) #("i38087"))
+                                         #(ribcage #(x) #((top)) #("i38397"))
                                          #(ribcage
                                            (identifier-syntax)
                                            ((top))
@@ -23194,16 +23130,16 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i38105"
-                                                        "i38106"
-                                                        "i38107"
-                                                        "i38108"
-                                                        "i38109"))
+                                                      #("i38415"
+                                                        "i38416"
+                                                        "i38417"
+                                                        "i38418"
+                                                        "i38419"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i38087"))
+                                                      #("i38397"))
                                                     #(ribcage
                                                       (identifier-syntax)
                                                       ((top))
@@ -23214,8 +23150,8 @@
                                                           ((top))
                                                           (hygiene guile))))))
                                                    (hygiene guile))
-                                                #{var 38133}#
-                                                #{val 38134}#)
+                                                #{var 38443}#
+                                                #{val 38444}#)
                                           (list '#(syntax-object
                                                    syntax
                                                    ((top)
@@ -23226,16 +23162,16 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i38105"
-                                                        "i38106"
-                                                        "i38107"
-                                                        "i38108"
-                                                        "i38109"))
+                                                      #("i38415"
+                                                        "i38416"
+                                                        "i38417"
+                                                        "i38418"
+                                                        "i38419"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i38087"))
+                                                      #("i38397"))
                                                     #(ribcage
                                                       (identifier-syntax)
                                                       ((top))
@@ -23246,8 +23182,8 @@
                                                           ((top))
                                                           (hygiene guile))))))
                                                    (hygiene guile))
-                                                #{exp2 38135}#))
-                                    (list (cons #{id 38131}#
+                                                #{exp2 38445}#))
+                                    (list (cons #{id 38441}#
                                                 '(#(syntax-object
                                                     x
                                                     ((top)
@@ -23258,16 +23194,16 @@
                                                          (top)
                                                          (top)
                                                          (top))
-                                                       #("i38105"
-                                                         "i38106"
-                                                         "i38107"
-                                                         "i38108"
-                                                         "i38109"))
+                                                       #("i38415"
+                                                         "i38416"
+                                                         "i38417"
+                                                         "i38418"
+                                                         "i38419"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(x)
                                                        #((top))
-                                                       #("i38087"))
+                                                       #("i38397"))
                                                      #(ribcage
                                                        (identifier-syntax)
                                                        ((top))
@@ -23288,16 +23224,16 @@
                                                          (top)
                                                          (top)
                                                          (top))
-                                                       #("i38105"
-                                                         "i38106"
-                                                         "i38107"
-                                                         "i38108"
-                                                         "i38109"))
+                                                       #("i38415"
+                                                         "i38416"
+                                                         "i38417"
+                                                         "i38418"
+                                                         "i38419"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(x)
                                                        #((top))
-                                                       #("i38087"))
+                                                       #("i38397"))
                                                      #(ribcage
                                                        (identifier-syntax)
                                                        ((top))
@@ -23318,16 +23254,16 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i38105"
-                                                        "i38106"
-                                                        "i38107"
-                                                        "i38108"
-                                                        "i38109"))
+                                                      #("i38415"
+                                                        "i38416"
+                                                        "i38417"
+                                                        "i38418"
+                                                        "i38419"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i38087"))
+                                                      #("i38397"))
                                                     #(ribcage
                                                       (identifier-syntax)
                                                       ((top))
@@ -23338,7 +23274,7 @@
                                                           ((top))
                                                           (hygiene guile))))))
                                                    (hygiene guile))
-                                                (cons #{exp1 38132}#
+                                                (cons #{exp1 38442}#
                                                       '(#(syntax-object
                                                           x
                                                           ((top)
@@ -23353,16 +23289,16 @@
                                                                (top)
                                                                (top)
                                                                (top))
-                                                             #("i38105"
-                                                               "i38106"
-                                                               "i38107"
-                                                               "i38108"
-                                                               "i38109"))
+                                                             #("i38415"
+                                                               "i38416"
+                                                               "i38417"
+                                                               "i38418"
+                                                               "i38419"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(x)
                                                              #((top))
-                                                             #("i38087"))
+                                                             #("i38397"))
                                                            #(ribcage
                                                              
(identifier-syntax)
                                                              ((top))
@@ -23388,16 +23324,16 @@
                                                                (top)
                                                                (top)
                                                                (top))
-                                                             #("i38105"
-                                                               "i38106"
-                                                               "i38107"
-                                                               "i38108"
-                                                               "i38109"))
+                                                             #("i38415"
+                                                               "i38416"
+                                                               "i38417"
+                                                               "i38418"
+                                                               "i38419"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(x)
                                                              #((top))
-                                                             #("i38087"))
+                                                             #("i38397"))
                                                            #(ribcage
                                                              
(identifier-syntax)
                                                              ((top))
@@ -23409,7 +23345,7 @@
                                                                  (hygiene
                                                                    guile))))))
                                                           (hygiene guile))))))
-                                    (list #{id 38131}#
+                                    (list #{id 38441}#
                                           (list '#(syntax-object
                                                    identifier?
                                                    ((top)
@@ -23420,16 +23356,16 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i38105"
-                                                        "i38106"
-                                                        "i38107"
-                                                        "i38108"
-                                                        "i38109"))
+                                                      #("i38415"
+                                                        "i38416"
+                                                        "i38417"
+                                                        "i38418"
+                                                        "i38419"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i38087"))
+                                                      #("i38397"))
                                                     #(ribcage
                                                       (identifier-syntax)
                                                       ((top))
@@ -23454,16 +23390,16 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i38105"
-                                                              "i38106"
-                                                              "i38107"
-                                                              "i38108"
-                                                              "i38109"))
+                                                            #("i38415"
+                                                              "i38416"
+                                                              "i38417"
+                                                              "i38418"
+                                                              "i38419"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(x)
                                                             #((top))
-                                                            #("i38087"))
+                                                            #("i38397"))
                                                           #(ribcage
                                                             (identifier-syntax)
                                                             ((top))
@@ -23475,7 +23411,7 @@
                                                                 (hygiene
                                                                   guile))))))
                                                          (hygiene guile))
-                                                      #{id 38131}#))
+                                                      #{id 38441}#))
                                           (list '#(syntax-object
                                                    syntax
                                                    ((top)
@@ -23486,16 +23422,16 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i38105"
-                                                        "i38106"
-                                                        "i38107"
-                                                        "i38108"
-                                                        "i38109"))
+                                                      #("i38415"
+                                                        "i38416"
+                                                        "i38417"
+                                                        "i38418"
+                                                        "i38419"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i38087"))
+                                                      #("i38397"))
                                                     #(ribcage
                                                       (identifier-syntax)
                                                       ((top))
@@ -23506,37 +23442,37 @@
                                                           ((top))
                                                           (hygiene guile))))))
                                                    (hygiene guile))
-                                                #{exp1 38132}#))))))
-                #{tmp 38122}#)
+                                                #{exp1 38442}#))))))
+                #{tmp 38432}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{x 38115}#))))))))
+                #{x 38425}#))))))))
 
 (define define*
   (make-syntax-transformer
     'define*
     'macro
-    (lambda (#{x 38168}#)
-      (let ((#{tmp 38170}#
+    (lambda (#{x 38478}#)
+      (let ((#{tmp 38480}#
               ($sc-dispatch
-                #{x 38168}#
+                #{x 38478}#
                 '(_ (any . any) any . each-any))))
-        (if #{tmp 38170}#
+        (if #{tmp 38480}#
           (@apply
-            (lambda (#{id 38174}#
-                     #{args 38175}#
-                     #{b0 38176}#
-                     #{b1 38177}#)
+            (lambda (#{id 38484}#
+                     #{args 38485}#
+                     #{b0 38486}#
+                     #{b1 38487}#)
               (list '#(syntax-object
                        define
                        ((top)
                         #(ribcage
                           #(id args b0 b1)
                           #((top) (top) (top) (top))
-                          #("i38150" "i38151" "i38152" "i38153"))
+                          #("i38460" "i38461" "i38462" "i38463"))
                         #(ribcage () () ())
-                        #(ribcage #(x) #((top)) #("i38147"))
+                        #(ribcage #(x) #((top)) #("i38457"))
                         #(ribcage
                           (define*)
                           ((top))
@@ -23547,16 +23483,16 @@
                               ((top))
                               (hygiene guile))))))
                        (hygiene guile))
-                    #{id 38174}#
+                    #{id 38484}#
                     (cons '#(syntax-object
                              lambda*
                              ((top)
                               #(ribcage
                                 #(id args b0 b1)
                                 #((top) (top) (top) (top))
-                                #("i38150" "i38151" "i38152" "i38153"))
+                                #("i38460" "i38461" "i38462" "i38463"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i38147"))
+                              #(ribcage #(x) #((top)) #("i38457"))
                               #(ribcage
                                 (define*)
                                 ((top))
@@ -23567,14 +23503,14 @@
                                     ((top))
                                     (hygiene guile))))))
                              (hygiene guile))
-                          (cons #{args 38175}#
-                                (cons #{b0 38176}# #{b1 38177}#)))))
-            #{tmp 38170}#)
-          (let ((#{tmp 38178}#
-                  ($sc-dispatch #{x 38168}# '(_ any any))))
-            (if (if #{tmp 38178}#
+                          (cons #{args 38485}#
+                                (cons #{b0 38486}# #{b1 38487}#)))))
+            #{tmp 38480}#)
+          (let ((#{tmp 38488}#
+                  ($sc-dispatch #{x 38478}# '(_ any any))))
+            (if (if #{tmp 38488}#
                   (@apply
-                    (lambda (#{id 38182}# #{val 38183}#)
+                    (lambda (#{id 38492}# #{val 38493}#)
                       (identifier?
                         '#(syntax-object
                            x
@@ -23582,9 +23518,9 @@
                             #(ribcage
                               #(id val)
                               #((top) (top))
-                              #("i38160" "i38161"))
+                              #("i38470" "i38471"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i38147"))
+                            #(ribcage #(x) #((top)) #("i38457"))
                             #(ribcage
                               (define*)
                               ((top))
@@ -23595,19 +23531,19 @@
                                   ((top))
                                   (hygiene guile))))))
                            (hygiene guile))))
-                    #{tmp 38178}#)
+                    #{tmp 38488}#)
                   #f)
               (@apply
-                (lambda (#{id 38184}# #{val 38185}#)
+                (lambda (#{id 38494}# #{val 38495}#)
                   (list '#(syntax-object
                            define
                            ((top)
                             #(ribcage
                               #(id val)
                               #((top) (top))
-                              #("i38164" "i38165"))
+                              #("i38474" "i38475"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i38147"))
+                            #(ribcage #(x) #((top)) #("i38457"))
                             #(ribcage
                               (define*)
                               ((top))
@@ -23618,11 +23554,11 @@
                                   ((top))
                                   (hygiene guile))))))
                            (hygiene guile))
-                        #{id 38184}#
-                        #{val 38185}#))
-                #{tmp 38178}#)
+                        #{id 38494}#
+                        #{val 38495}#))
+                #{tmp 38488}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{x 38168}#))))))))
+                #{x 38478}#))))))))
 
diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm
index 7c3024b..76edfb0 100644
--- a/module/ice-9/psyntax.scm
+++ b/module/ice-9/psyntax.scm
@@ -952,17 +952,17 @@
 
     ;; expanding
 
-    (define chi-sequence
+    (define expand-sequence
       (lambda (body r w s mod)
         (build-sequence s
                         (let dobody ((body body) (r r) (w w) (mod mod))
                           (if (null? body)
                               '()
-                              (let ((first (chi (car body) r w mod)))
+                              (let ((first (expand (car body) r w mod)))
                                 (cons first (dobody (cdr body) r w mod))))))))
 
     ;; At top-level, we allow mixed definitions and expressions.  Like
-    ;; chi-body we expand in two passes.
+    ;; expand-body we expand in two passes.
     ;;
     ;; First, from left to right, we expand just enough to know what
     ;; expressions are definitions, syntax definitions, and splicing
@@ -975,7 +975,7 @@
     ;; expansions of all normal definitions and expressions in the
     ;; sequence.
     ;;
-    (define chi-top-sequence
+    (define expand-top-sequence
       (lambda (body r w s m esew mod)
         (let* ((r (cons '("placeholder" . (placeholder)) r))
                (ribcage (make-empty-ribcage))
@@ -1027,11 +1027,11 @@
                      (record-definition! id var)
                      (list
                       (if (eq? m 'c&e)
-                          (let ((x (build-global-definition s var (chi e r w 
mod))))
+                          (let ((x (build-global-definition s var (expand e r 
w mod))))
                             (top-level-eval-hook x mod)
                             (lambda () x))
                           (lambda ()
-                            (build-global-definition s var (chi e r w 
mod)))))))
+                            (build-global-definition s var (expand e r w 
mod)))))))
                   ((define-syntax-form define-syntax-parameter-form)
                    (let* ((id (wrap value w mod))
                           (label (gen-label))
@@ -1043,23 +1043,23 @@
                        ((c)
                         (cond
                          ((memq 'compile esew)
-                          (let ((e (chi-install-global var type (chi e r w 
mod))))
+                          (let ((e (expand-install-global var type (expand e r 
w mod))))
                             (top-level-eval-hook e mod)
                             (if (memq 'load esew)
                                 (list (lambda () e))
                                 '())))
                          ((memq 'load esew)
                           (list (lambda ()
-                                  (chi-install-global var type (chi e r w 
mod)))))
+                                  (expand-install-global var type (expand e r 
w mod)))))
                          (else '())))
                        ((c&e)
-                        (let ((e (chi-install-global var type (chi e r w 
mod))))
+                        (let ((e (expand-install-global var type (expand e r w 
mod))))
                           (top-level-eval-hook e mod)
                           (list (lambda () e))))
                        (else
                         (if (memq 'eval esew)
                             (top-level-eval-hook
-                             (chi-install-global var type (chi e r w mod))
+                             (expand-install-global var type (expand e r w 
mod))
                              mod))
                         '()))))
                   ((begin-form)
@@ -1067,13 +1067,13 @@
                      ((_ e1 ...)
                       (parse #'(e1 ...) r w s m esew mod))))
                   ((local-syntax-form)
-                   (chi-local-syntax value e r w s mod
+                   (expand-local-syntax value e r w s mod
                                      (lambda (forms r w s mod)
                                        (parse forms r w s m esew mod))))
                   ((eval-when-form)
                    (syntax-case e ()
                      ((_ (x ...) e1 e2 ...)
-                      (let ((when-list (chi-when-list e #'(x ...) w))
+                      (let ((when-list (parse-when-list e #'(x ...)))
                             (body #'(e1 e2 ...)))
                         (define (recurse m esew)
                           (parse body r w s m esew mod))
@@ -1085,7 +1085,7 @@
                               (begin
                                 (if (memq 'expand when-list)
                                     (top-level-eval-hook
-                                     (chi-top-sequence body r w s 'e '(eval) 
mod)
+                                     (expand-top-sequence body r w s 'e 
'(eval) mod)
                                      mod))
                                 '())))
                          ((memq 'load when-list)
@@ -1100,7 +1100,7 @@
                               (memq 'expand when-list)
                               (and (eq? m 'c&e) (memq 'eval when-list)))
                           (top-level-eval-hook
-                           (chi-top-sequence body r w s 'e '(eval) mod)
+                           (expand-top-sequence body r w s 'e '(eval) mod)
                            mod)
                           '())
                          (else
@@ -1108,18 +1108,18 @@
                   (else
                    (list
                     (if (eq? m 'c&e)
-                        (let ((x (chi-expr type value e r w s mod)))
+                        (let ((x (expand-expr type value e r w s mod)))
                           (top-level-eval-hook x mod)
                           (lambda () x))
                         (lambda ()
-                          (chi-expr type value e r w s mod)))))))))
+                          (expand-expr type value e r w s mod)))))))))
           (let ((exps (map (lambda (x) (x))
                            (reverse (parse body r w s m esew mod)))))
             (if (null? exps)
                 (build-void s)
                 (build-sequence s exps))))))
     
-    (define chi-install-global
+    (define expand-install-global
       (lambda (name type e)
         (build-global-definition
          no-source
@@ -1135,24 +1135,21 @@
                     (build-data no-source 'macro)
                     e))))))
     
-    (define chi-when-list
-      (lambda (e when-list w)
+    (define parse-when-list
+      (lambda (e when-list)
         ;; `when-list' is syntax'd version of list of situations.  We
         ;; could match these keywords lexically, via free-id=?, but then
         ;; we twingle the definition of eval-when to the bindings of
         ;; eval, load, expand, and compile, which is totally unintended.
         ;; So do a symbolic match instead.
-        (let f ((when-list when-list) (situations '()))
-          (if (null? when-list)
-              situations
-              (f (cdr when-list)
-                 (cons (let ((x (syntax->datum (car when-list))))
-                         (if (memq x '(compile load eval expand))
-                             x
-                             (syntax-violation 'eval-when
-                                               "invalid situation"
-                                               e (wrap (car when-list) w #f))))
-                       situations))))))
+        (let ((result (strip when-list empty-wrap)))
+          (let lp ((l result))
+            (if (null? l)
+                result
+                (if (memq (car l) '(compile load eval expand))
+                    (lp (cdr l))
+                    (syntax-violation 'eval-when "invalid situation" e
+                                      (car l))))))))
 
     ;; syntax-type returns six values: type, value, e, w, s, and mod. The
     ;; first two are described in the table below.
@@ -1203,7 +1200,7 @@
                 ((macro)
                  (if for-car?
                      (values type value e w s mod)
-                     (syntax-type (chi-macro value e r w s rib mod)
+                     (syntax-type (expand-macro value e r w s rib mod)
                                   r empty-wrap s rib mod #f)))
                 ((global)
                  ;; Toplevel definitions may resolve to bindings with
@@ -1225,7 +1222,7 @@
                    (values 'global-call (make-syntax-object fval w fmod)
                            e w s mod))
                   ((macro)
-                   (syntax-type (chi-macro fval e r w s rib mod)
+                   (syntax-type (expand-macro fval e r w s rib mod)
                                 r empty-wrap s rib mod for-car?))
                   ((module-ref)
                    (call-with-values (lambda () (fval e r w))
@@ -1279,14 +1276,14 @@
          ((self-evaluating? e) (values 'constant #f e w s mod))
          (else (values 'other #f e w s mod)))))
 
-    (define chi
+    (define expand
       (lambda (e r w mod)
         (call-with-values
             (lambda () (syntax-type e r w (source-annotation e) #f mod #f))
           (lambda (type value e w s mod)
-            (chi-expr type value e r w s mod)))))
+            (expand-expr type value e r w s mod)))))
 
-    (define chi-expr
+    (define expand-expr
       (lambda (type value e r w s mod)
         (case type
           ((lexical)
@@ -1297,9 +1294,9 @@
           ((module-ref)
            (call-with-values (lambda () (value e r w))
              (lambda (e r w s mod)
-               (chi e r w mod))))
+               (expand e r w mod))))
           ((lexical-call)
-           (chi-call
+           (expand-call
             (let ((id (car e)))
               (build-lexical-reference 'fun (source-annotation id)
                                        (if (syntax-object? id)
@@ -1308,7 +1305,7 @@
                                        value))
             e r w s mod))
           ((global-call)
-           (chi-call
+           (expand-call
             (build-global-reference (source-annotation (car e))
                                     (if (syntax-object? value)
                                         (syntax-object-expression value)
@@ -1319,19 +1316,19 @@
             e r w s mod))
           ((constant) (build-data s (strip (source-wrap e w s mod) 
empty-wrap)))
           ((global) (build-global-reference s value mod))
-          ((call) (chi-call (chi (car e) r w mod) e r w s mod))
+          ((call) (expand-call (expand (car e) r w mod) e r w s mod))
           ((begin-form)
            (syntax-case e ()
-             ((_ e1 e2 ...) (chi-sequence #'(e1 e2 ...) r w s mod))))
+             ((_ e1 e2 ...) (expand-sequence #'(e1 e2 ...) r w s mod))))
           ((local-syntax-form)
-           (chi-local-syntax value e r w s mod chi-sequence))
+           (expand-local-syntax value e r w s mod expand-sequence))
           ((eval-when-form)
            (syntax-case e ()
              ((_ (x ...) e1 e2 ...)
-              (let ((when-list (chi-when-list e #'(x ...) w)))
+              (let ((when-list (parse-when-list e #'(x ...))))
                 (if (memq 'eval when-list)
-                    (chi-sequence #'(e1 e2 ...) r w s mod)
-                    (chi-void))))))
+                    (expand-sequence #'(e1 e2 ...) r w s mod)
+                    (expand-void))))))
           ((define-form define-syntax-form define-syntax-parameter-form)
            (syntax-violation #f "definition in expression context"
                              e (wrap value w mod)))
@@ -1344,12 +1341,12 @@
           (else (syntax-violation #f "unexpected syntax"
                                   (source-wrap e w s mod))))))
 
-    (define chi-call
+    (define expand-call
       (lambda (x e r w s mod)
         (syntax-case e ()
           ((e0 e1 ...)
            (build-call s x
-                       (map (lambda (e) (chi e r w mod)) #'(e1 ...)))))))
+                       (map (lambda (e) (expand e r w mod)) #'(e1 ...)))))))
 
     ;; (What follows is my interpretation of what's going on here -- Andy)
     ;;
@@ -1384,7 +1381,7 @@
     ;; really nice if we could also annotate introduced expressions with the
     ;; locations corresponding to the macro definition, but that is not yet
     ;; possible.
-    (define chi-macro
+    (define expand-macro
       (lambda (p e r w s rib mod)
         (define rebuild-macro-output
           (lambda (x m)
@@ -1425,7 +1422,7 @@
         (rebuild-macro-output (p (source-wrap e (anti-mark w) s mod))
                               (new-mark))))
 
-    (define chi-body
+    (define expand-body
       ;; In processing the forms of the body, we create a new, empty wrap.
       ;; This wrap is augmented (destructively) each time we discover that
       ;; the next form is a definition.  This is done:
@@ -1509,19 +1506,19 @@
                                                (f (cdr forms)))))
                                    ids labels var-ids vars vals bindings))))
                         ((local-syntax-form)
-                         (chi-local-syntax value e er w s mod
-                                           (lambda (forms er w s mod)
-                                             (parse (let f ((forms forms))
-                                                      (if (null? forms)
-                                                          (cdr body)
-                                                          (cons (cons er (wrap 
(car forms) w mod))
-                                                                (f (cdr 
forms)))))
-                                                    ids labels var-ids vars 
vals bindings))))
+                         (expand-local-syntax value e er w s mod
+                                              (lambda (forms er w s mod)
+                                                (parse (let f ((forms forms))
+                                                         (if (null? forms)
+                                                             (cdr body)
+                                                             (cons (cons er 
(wrap (car forms) w mod))
+                                                                   (f (cdr 
forms)))))
+                                                       ids labels var-ids vars 
vals bindings))))
                         (else           ; found a non-definition
                          (if (null? ids)
                              (build-sequence no-source
                                              (map (lambda (x)
-                                                    (chi (cdr x) (car x) 
empty-wrap mod))
+                                                    (expand (cdr x) (car x) 
empty-wrap mod))
                                                   (cons (cons er (source-wrap 
e w s mod))
                                                         (cdr body))))
                              (begin
@@ -1540,7 +1537,7 @@
                                                        (macros-only-env er))))
                                              (set-cdr! b
                                                        (eval-local-transformer
-                                                        (chi (cddr b) r-cache 
empty-wrap mod)
+                                                        (expand (cddr b) 
r-cache empty-wrap mod)
                                                         mod))
                                              (if (eq? (car b) 
'syntax-parameter)
                                                  (set-cdr! b (list (cdr b))))
@@ -1551,15 +1548,15 @@
                                              (reverse (map syntax->datum 
var-ids))
                                              (reverse vars)
                                              (map (lambda (x)
-                                                    (chi (cdr x) (car x) 
empty-wrap mod))
+                                                    (expand (cdr x) (car x) 
empty-wrap mod))
                                                   (reverse vals))
                                              (build-sequence no-source
                                                              (map (lambda (x)
-                                                                    (chi (cdr 
x) (car x) empty-wrap mod))
+                                                                    (expand 
(cdr x) (car x) empty-wrap mod))
                                                                   (cons (cons 
er (source-wrap e w s mod))
                                                                         (cdr 
body)))))))))))))))))
 
-    (define chi-local-syntax
+    (define expand-local-syntax
       (lambda (rec? e r w s mod k)
         (syntax-case e ()
           ((_ ((id val) ...) e1 e2 ...)
@@ -1576,7 +1573,7 @@
                            (map (lambda (x)
                                   (make-binding 'macro
                                                 (eval-local-transformer
-                                                 (chi x trans-r w mod)
+                                                 (expand x trans-r w mod)
                                                  mod)))
                                 #'(val ...)))
                          r)
@@ -1593,7 +1590,7 @@
               p
               (syntax-violation #f "nonprocedure transformer" p)))))
 
-    (define chi-void
+    (define expand-void
       (lambda ()
         (build-void no-source)))
 
@@ -1623,7 +1620,7 @@
                               orig-args))))
         (req orig-args '())))
 
-    (define chi-simple-lambda
+    (define expand-simple-lambda
       (lambda (e r w s mod req rest meta body)
         (let* ((ids (if rest (append req (list rest)) req))
                (vars (map gen-var ids))
@@ -1632,10 +1629,10 @@
            s
            (map syntax->datum req) (and rest (syntax->datum rest)) vars
            meta
-           (chi-body body (source-wrap e w s mod)
-                     (extend-var-env labels vars r)
-                     (make-binding-wrap ids labels w)
-                     mod)))))
+           (expand-body body (source-wrap e w s mod)
+                        (extend-var-env labels vars r)
+                        (make-binding-wrap ids labels w)
+                        mod)))))
 
     (define lambda*-formals
       (lambda (orig-args)
@@ -1718,16 +1715,16 @@
                               orig-args))))
         (req orig-args '())))
 
-    (define chi-lambda-case
+    (define expand-lambda-case
       (lambda (e r w s mod get-formals clauses)
-        (define (expand-req req opt rest kw body)
+        (define (parse-req req opt rest kw body)
           (let ((vars (map gen-var req))
                 (labels (gen-labels req)))
             (let ((r* (extend-var-env labels vars r))
                   (w* (make-binding-wrap req labels w)))
-              (expand-opt (map syntax->datum req)
-                          opt rest kw body (reverse vars) r* w* '() '()))))
-        (define (expand-opt req opt rest kw body vars r* w* out inits)
+              (parse-opt (map syntax->datum req)
+                         opt rest kw body (reverse vars) r* w* '() '()))))
+        (define (parse-opt req opt rest kw body vars r* w* out inits)
           (cond
            ((pair? opt)
             (syntax-case (car opt) ()
@@ -1736,27 +1733,27 @@
                       (l (gen-labels (list v)))
                       (r** (extend-var-env l (list v) r*))
                       (w** (make-binding-wrap (list #'id) l w*)))
-                 (expand-opt req (cdr opt) rest kw body (cons v vars)
-                             r** w** (cons (syntax->datum #'id) out)
-                             (cons (chi #'i r* w* mod) inits))))))
+                 (parse-opt req (cdr opt) rest kw body (cons v vars)
+                            r** w** (cons (syntax->datum #'id) out)
+                            (cons (expand #'i r* w* mod) inits))))))
            (rest
             (let* ((v (gen-var rest))
                    (l (gen-labels (list v)))
                    (r* (extend-var-env l (list v) r*))
                    (w* (make-binding-wrap (list rest) l w*)))
-              (expand-kw req (if (pair? out) (reverse out) #f)
-                         (syntax->datum rest)
-                         (if (pair? kw) (cdr kw) kw)
-                         body (cons v vars) r* w* 
-                         (if (pair? kw) (car kw) #f)
-                         '() inits)))
+              (parse-kw req (if (pair? out) (reverse out) #f)
+                        (syntax->datum rest)
+                        (if (pair? kw) (cdr kw) kw)
+                        body (cons v vars) r* w* 
+                        (if (pair? kw) (car kw) #f)
+                        '() inits)))
            (else
-            (expand-kw req (if (pair? out) (reverse out) #f) #f
-                       (if (pair? kw) (cdr kw) kw)
-                       body vars r* w*
-                       (if (pair? kw) (car kw) #f)
-                       '() inits))))
-        (define (expand-kw req opt rest kw body vars r* w* aok out inits)
+            (parse-kw req (if (pair? out) (reverse out) #f) #f
+                      (if (pair? kw) (cdr kw) kw)
+                      body vars r* w*
+                      (if (pair? kw) (car kw) #f)
+                      '() inits))))
+        (define (parse-kw req opt rest kw body vars r* w* aok out inits)
           (cond
            ((pair? kw)
             (syntax-case (car kw) ()
@@ -1765,31 +1762,31 @@
                       (l (gen-labels (list v)))
                       (r** (extend-var-env l (list v) r*))
                       (w** (make-binding-wrap (list #'id) l w*)))
-                 (expand-kw req opt rest (cdr kw) body (cons v vars)
-                            r** w** aok
-                            (cons (list (syntax->datum #'k)
-                                        (syntax->datum #'id)
-                                        v)
-                                  out)
-                            (cons (chi #'i r* w* mod) inits))))))
+                 (parse-kw req opt rest (cdr kw) body (cons v vars)
+                           r** w** aok
+                           (cons (list (syntax->datum #'k)
+                                       (syntax->datum #'id)
+                                       v)
+                                 out)
+                           (cons (expand #'i r* w* mod) inits))))))
            (else
-            (expand-body req opt rest
-                         (if (or aok (pair? out)) (cons aok (reverse out)) #f)
-                         body (reverse vars) r* w* (reverse inits) '()))))
-        (define (expand-body req opt rest kw body vars r* w* inits meta)
+            (parse-body req opt rest
+                        (if (or aok (pair? out)) (cons aok (reverse out)) #f)
+                        body (reverse vars) r* w* (reverse inits) '()))))
+        (define (parse-body req opt rest kw body vars r* w* inits meta)
           (syntax-case body ()
             ((docstring e1 e2 ...) (string? (syntax->datum #'docstring))
-             (expand-body req opt rest kw #'(e1 e2 ...) vars r* w* inits
-                          (append meta 
-                                  `((documentation
-                                     . ,(syntax->datum #'docstring))))))
+             (parse-body req opt rest kw #'(e1 e2 ...) vars r* w* inits
+                         (append meta 
+                                 `((documentation
+                                    . ,(syntax->datum #'docstring))))))
             ((#((k . v) ...) e1 e2 ...) 
-             (expand-body req opt rest kw #'(e1 e2 ...) vars r* w* inits
-                          (append meta (syntax->datum #'((k . v) ...)))))
+             (parse-body req opt rest kw #'(e1 e2 ...) vars r* w* inits
+                         (append meta (syntax->datum #'((k . v) ...)))))
             ((e1 e2 ...)
              (values meta req opt rest kw inits vars
-                     (chi-body #'(e1 e2 ...) (source-wrap e w s mod)
-                               r* w* mod)))))
+                     (expand-body #'(e1 e2 ...) (source-wrap e w s mod)
+                                  r* w* mod)))))
 
         (syntax-case clauses ()
           (() (values '() #f))
@@ -1797,12 +1794,12 @@
            (call-with-values (lambda () (get-formals #'args))
              (lambda (req opt rest kw)
                (call-with-values (lambda ()
-                                   (expand-req req opt rest kw #'(e1 e2 ...)))
+                                   (parse-req req opt rest kw #'(e1 e2 ...)))
                  (lambda (meta req opt rest kw inits vars body)
                    (call-with-values
                        (lambda ()
-                         (chi-lambda-case e r w s mod get-formals
-                                          #'((args* e1* e2* ...) ...)))
+                         (expand-lambda-case e r w s mod get-formals
+                                             #'((args* e1* e2* ...) ...)))
                      (lambda (meta* else*)
                        (values
                         (append meta meta*)
@@ -1900,9 +1897,9 @@
                    (map (lambda (x)
                           (make-binding
                            'macro
-                           (eval-local-transformer (chi x trans-r w mod) mod)))
+                           (eval-local-transformer (expand x trans-r w mod) 
mod)))
                         #'(val ...)))))
-            (chi-body #'(e1 e2 ...)
+            (expand-body #'(e1 e2 ...)
                       (source-wrap e w s mod)
                       (extend-env names bindings r)
                       w
@@ -2094,7 +2091,7 @@
                                 ((#((k . v) ...) e1 e2 ...) 
                                  (lp #'(e1 e2 ...)
                                      (append meta (syntax->datum #'((k . v) 
...)))))
-                                (_ (chi-simple-lambda e r w s mod req rest 
meta body)))))))
+                                (_ (expand-simple-lambda e r w s mod req rest 
meta body)))))))
                        (_ (syntax-violation 'lambda "bad lambda" e)))))
   
     (global-extend 'core 'lambda*
@@ -2103,8 +2100,8 @@
                        ((_ args e1 e2 ...)
                         (call-with-values
                             (lambda ()
-                              (chi-lambda-case e r w s mod
-                                               lambda*-formals #'((args e1 e2 
...))))
+                              (expand-lambda-case e r w s mod
+                                                  lambda*-formals #'((args e1 
e2 ...))))
                           (lambda (meta lcase)
                             (build-case-lambda s meta lcase))))
                        (_ (syntax-violation 'lambda "bad lambda*" e)))))
@@ -2115,9 +2112,9 @@
                        ((_ (args e1 e2 ...) (args* e1* e2* ...) ...)
                         (call-with-values
                             (lambda ()
-                              (chi-lambda-case e r w s mod
-                                               lambda-formals
-                                               #'((args e1 e2 ...) (args* e1* 
e2* ...) ...)))
+                              (expand-lambda-case e r w s mod
+                                                  lambda-formals
+                                                  #'((args e1 e2 ...) (args* 
e1* e2* ...) ...)))
                           (lambda (meta lcase)
                             (build-case-lambda s meta lcase))))
                        (_ (syntax-violation 'case-lambda "bad case-lambda" 
e)))))
@@ -2128,16 +2125,16 @@
                        ((_ (args e1 e2 ...) (args* e1* e2* ...) ...)
                         (call-with-values
                             (lambda ()
-                              (chi-lambda-case e r w s mod
-                                               lambda*-formals
-                                               #'((args e1 e2 ...) (args* e1* 
e2* ...) ...)))
+                              (expand-lambda-case e r w s mod
+                                                  lambda*-formals
+                                                  #'((args e1 e2 ...) (args* 
e1* e2* ...) ...)))
                           (lambda (meta lcase)
                             (build-case-lambda s meta lcase))))
                        (_ (syntax-violation 'case-lambda "bad case-lambda*" 
e)))))
 
     (global-extend 'core 'let
                    (let ()
-                     (define (chi-let e r w s mod constructor ids vals exps)
+                     (define (expand-let e r w s mod constructor ids vals exps)
                        (if (not (valid-bound-ids? ids))
                            (syntax-violation 'let "duplicate bound variable" e)
                            (let ((labels (gen-labels ids))
@@ -2147,25 +2144,25 @@
                                (constructor s
                                             (map syntax->datum ids)
                                             new-vars
-                                            (map (lambda (x) (chi x r w mod)) 
vals)
-                                            (chi-body exps (source-wrap e nw s 
mod)
-                                                      nr nw mod))))))
+                                            (map (lambda (x) (expand x r w 
mod)) vals)
+                                            (expand-body exps (source-wrap e 
nw s mod)
+                                                         nr nw mod))))))
                      (lambda (e r w s mod)
                        (syntax-case e ()
                          ((_ ((id val) ...) e1 e2 ...)
                           (and-map id? #'(id ...))
-                          (chi-let e r w s mod
-                                   build-let
-                                   #'(id ...)
-                                   #'(val ...)
-                                   #'(e1 e2 ...)))
+                          (expand-let e r w s mod
+                                      build-let
+                                      #'(id ...)
+                                      #'(val ...)
+                                      #'(e1 e2 ...)))
                          ((_ f ((id val) ...) e1 e2 ...)
                           (and (id? #'f) (and-map id? #'(id ...)))
-                          (chi-let e r w s mod
-                                   build-named-let
-                                   #'(f id ...)
-                                   #'(val ...)
-                                   #'(e1 e2 ...)))
+                          (expand-let e r w s mod
+                                      build-named-let
+                                      #'(f id ...)
+                                      #'(val ...)
+                                      #'(e1 e2 ...)))
                          (_ (syntax-violation 'let "bad let" (source-wrap e w 
s mod)))))))
 
 
@@ -2184,9 +2181,9 @@
                                   (build-letrec s #f
                                                 (map syntax->datum ids)
                                                 new-vars
-                                                (map (lambda (x) (chi x r w 
mod)) #'(val ...))
-                                                (chi-body #'(e1 e2 ...) 
-                                                          (source-wrap e w s 
mod) r w mod)))))))
+                                                (map (lambda (x) (expand x r w 
mod)) #'(val ...))
+                                                (expand-body #'(e1 e2 ...) 
+                                                             (source-wrap e w 
s mod) r w mod)))))))
                        (_ (syntax-violation 'letrec "bad letrec" (source-wrap 
e w s mod))))))
 
 
@@ -2205,9 +2202,9 @@
                                   (build-letrec s #t
                                                 (map syntax->datum ids)
                                                 new-vars
-                                                (map (lambda (x) (chi x r w 
mod)) #'(val ...))
-                                                (chi-body #'(e1 e2 ...) 
-                                                          (source-wrap e w s 
mod) r w mod)))))))
+                                                (map (lambda (x) (expand x r w 
mod)) #'(val ...))
+                                                (expand-body #'(e1 e2 ...) 
+                                                             (source-wrap e w 
s mod) r w mod)))))))
                        (_ (syntax-violation 'letrec* "bad letrec*" 
(source-wrap e w s mod))))))
 
 
@@ -2223,14 +2220,14 @@
               (case type
                 ((lexical)
                  (build-lexical-assignment s (syntax->datum #'id) value
-                                           (chi #'val r w mod)))
+                                           (expand #'val r w mod)))
                 ((global)
-                 (build-global-assignment s value (chi #'val r w mod) id-mod))
+                 (build-global-assignment s value (expand #'val r w mod) 
id-mod))
                 ((macro)
                  (if (procedure-property value 'variable-transformer)
-                     ;; As syntax-type does, call chi-macro with
+                     ;; As syntax-type does, call expand-macro with
                      ;; the mod of the expression. Hmm.
-                     (chi (chi-macro value e r w s #f mod) r empty-wrap mod)
+                     (expand (expand-macro value e r w s #f mod) r empty-wrap 
mod)
                      (syntax-violation 'set! "not a variable transformer"
                                        (wrap e w mod)
                                        (wrap #'id w id-mod))))
@@ -2245,7 +2242,7 @@
             (lambda (type value ee ww ss modmod)
               (case type
                 ((module-ref)
-                 (let ((val (chi #'val r w mod)))
+                 (let ((val (expand #'val r w mod)))
                    (call-with-values (lambda () (value #'(head tail ...) r w))
                      (lambda (e r w s* mod)
                        (syntax-case e ()
@@ -2254,8 +2251,8 @@
                                                      val mod)))))))
                 (else
                  (build-call s
-                             (chi #'(setter head) r w mod)
-                             (map (lambda (e) (chi e r w mod))
+                             (expand #'(setter head) r w mod)
+                             (map (lambda (e) (expand e r w mod))
                                   #'(tail ... val))))))))
          (_ (syntax-violation 'set! "bad set!" (source-wrap e w s mod))))))
 
@@ -2301,15 +2298,15 @@
                        ((_ test then)
                         (build-conditional
                          s
-                         (chi #'test r w mod)
-                         (chi #'then r w mod)
+                         (expand #'test r w mod)
+                         (expand #'then r w mod)
                          (build-void no-source)))
                        ((_ test then else)
                         (build-conditional
                          s
-                         (chi #'test r w mod)
-                         (chi #'then r w mod)
-                         (chi #'else r w mod))))))
+                         (expand #'test r w mod)
+                         (expand #'then r w mod)
+                         (expand #'else r w mod))))))
 
     (global-extend 'core 'with-fluids
                    (lambda (e r w s mod)
@@ -2317,10 +2314,10 @@
                        ((_ ((fluid val) ...) b b* ...)
                         (build-dynlet
                          s
-                         (map (lambda (x) (chi x r w mod)) #'(fluid ...))
-                         (map (lambda (x) (chi x r w mod)) #'(val ...))
-                         (chi-body #'(b b* ...)
-                                   (source-wrap e w s mod) r w mod))))))
+                         (map (lambda (x) (expand x r w mod)) #'(fluid ...))
+                         (map (lambda (x) (expand x r w mod)) #'(val ...))
+                         (expand-body #'(b b* ...)
+                                      (source-wrap e w s mod) r w mod))))))
   
     (global-extend 'begin 'begin '())
 
@@ -2410,7 +2407,7 @@
                               no-source
                               'apply
                               (list (build-simple-lambda no-source (map 
syntax->datum ids) #f new-vars '()
-                                                         (chi exp
+                                                         (expand exp
                                                               (extend-env
                                                                labels
                                                                (map (lambda 
(var level)
@@ -2467,14 +2464,14 @@
                                          (and-map (lambda (x) (not (free-id=? 
#'pat x)))
                                                   (cons #'(... ...) keys)))
                                     (if (free-id=? #'pad #'_)
-                                        (chi #'exp r empty-wrap mod)
+                                        (expand #'exp r empty-wrap mod)
                                         (let ((labels (list (gen-label)))
                                               (var (gen-var #'pat)))
                                           (build-call no-source
                                                       (build-simple-lambda
                                                        no-source (list 
(syntax->datum #'pat)) #f (list var)
                                                        '()
-                                                       (chi #'exp
+                                                       (expand #'exp
                                                             (extend-env labels
                                                                         (list 
(make-binding 'syntax `(,var . 0)))
                                                                         r)
@@ -2505,10 +2502,10 @@
                                                                                
     #'(key ...) #'(m ...)
                                                                                
     r
                                                                                
     mod))
-                                              (list (chi #'val r empty-wrap 
mod))))
+                                              (list (expand #'val r empty-wrap 
mod))))
                                 (syntax-violation 'syntax-case "invalid 
literals list" e))))))))
 
-    ;; The portable macroexpand seeds chi-top's mode m with 'e (for
+    ;; The portable macroexpand seeds expand-top's mode m with 'e (for
     ;; evaluating) and esew (which stands for "eval syntax expanders
     ;; when") with '(eval).  In Chez Scheme, m is set to 'c instead of e
     ;; if we are compiling a file, and esew is set to
@@ -2519,8 +2516,8 @@
     ;; the object file if we are compiling a file.
     (set! macroexpand
           (lambda* (x #:optional (m 'e) (esew '(eval)))
-            (chi-top-sequence (list x) null-env top-wrap #f m esew
-                              (cons 'hygiene (module-name (current-module))))))
+            (expand-top-sequence (list x) null-env top-wrap #f m esew
+                                 (cons 'hygiene (module-name 
(current-module))))))
 
     (set! identifier?
           (lambda (x)
diff --git a/module/ice-9/vlist.scm b/module/ice-9/vlist.scm
index 4b40b99..8c7c87b 100644
--- a/module/ice-9/vlist.scm
+++ b/module/ice-9/vlist.scm
@@ -66,9 +66,7 @@
 ;;;
 
 (define block-growth-factor
-  (let ((f (make-fluid)))
-    (fluid-set! f 2)
-    f))
+  (make-fluid 2))
 
 (define-syntax-rule (define-inline (name formals ...) body ...)
   ;; Work around the lack of an inliner.
diff --git a/module/language/elisp/runtime.scm 
b/module/language/elisp/runtime.scm
index 025dc96..0c84d10 100644
--- a/module/language/elisp/runtime.scm
+++ b/module/language/elisp/runtime.scm
@@ -1,6 +1,6 @@
 ;;; Guile Emacs Lisp
 
-;;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+;;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
 ;;;
 ;;; This library is free software; you can redistribute it and/or
 ;;; modify it under the terms of the GNU Lesser General Public
@@ -131,8 +131,8 @@
       ((_ name value)
        (with-syntax ((scheme-name (make-id #'name 'macro- #'name)))
         #'(begin
-            (define-public scheme-name (make-fluid))
-            (fluid-set! scheme-name (cons 'macro value))))))))
+            (define-public scheme-name
+              (make-fluid (cons 'macro value)))))))))
 
 (define-syntax defspecial
   (lambda (x)
@@ -140,10 +140,10 @@
       ((_ name args body ...)
        (with-syntax ((scheme-name (make-id #'name 'compile- #'name)))
          #'(begin
-             (define scheme-name (make-fluid))
-             (fluid-set! scheme-name
-                         (cons 'special-operator
-                               (lambda args body ...)))))))))
+             (define scheme-name
+               (make-fluid
+                (cons 'special-operator
+                      (lambda args body ...))))))))))
 
 ;;; Call a guile-primitive that may be rebound for elisp and thus needs
 ;;; absolute addressing.
diff --git a/module/scripts/compile.scm b/module/scripts/compile.scm
index 0651c68..20db944 100644
--- a/module/scripts/compile.scm
+++ b/module/scripts/compile.scm
@@ -30,6 +30,7 @@
 
 (define-module (scripts compile)
   #:use-module ((system base compile) #:select (compile-file))
+  #:use-module (system base target)
   #:use-module (system base message)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-13)
@@ -88,7 +89,12 @@
                (lambda (opt name arg result)
                   (if (assoc-ref result 'to)
                       (fail "`--to' option cannot be specified more than once")
-                      (alist-cons 'to (string->symbol arg) result))))))
+                      (alist-cons 'to (string->symbol arg) result))))
+        (option '(#\T "target") #t #f
+                (lambda (opt name arg result)
+                  (if (assoc-ref result 'target)
+                      (fail "`--target' option cannot be specified more than 
once")
+                      (alist-cons 'target arg result))))))
 
 (define (parse-args args)
   "Parse argument list @var{args} and return an alist with all the relevant
@@ -109,7 +115,7 @@ options."
 
 (define (show-version)
   (format #t "compile (GNU Guile) ~A~%" (version))
-  (format #t "Copyright (C) 2009 Free Software Foundation, Inc.
+  (format #t "Copyright (C) 2009, 2011 Free Software Foundation, Inc.
 License LGPLv3+: GNU LGPL version 3 or later 
<http://gnu.org/licenses/lgpl.html>.
 This is free software: you are free to change and redistribute it.
 There is NO WARRANTY, to the extent permitted by law.~%"))
@@ -134,6 +140,7 @@ There is NO WARRANTY, to the extent permitted by law.~%"))
                                 o)))
          (from            (or (assoc-ref options 'from) 'scheme))
          (to              (or (assoc-ref options 'to) 'objcode))
+         (target          (or (assoc-ref options 'target) %host-type))
         (input-files     (assoc-ref options 'input-files))
         (output-file     (assoc-ref options 'output-file))
         (load-path       (assoc-ref options 'load-path)))
@@ -152,6 +159,7 @@ Compile each Guile source file FILE into a Guile object.
 
   -f, --from=LANG      specify a source language other than `scheme'
   -t, --to=LANG        specify a target language other than `objcode'
+  -T, --target=TRIPLET produce bytecode for host TRIPLET
 
 Note that auto-compilation will be turned off.
 
@@ -171,11 +179,13 @@ Report bugs to <~A>.~%"
     (for-each (lambda (file)
                 (format #t "wrote `~A'\n"
                         (with-fluids ((*current-warning-prefix* ""))
-                          (compile-file file
-                                        #:output-file output-file
-                                        #:from from
-                                        #:to to
-                                        #:opts compile-opts))))
+                          (with-target target
+                            (lambda ()
+                              (compile-file file
+                                            #:output-file output-file
+                                            #:from from
+                                            #:to to
+                                            #:opts compile-opts))))))
               input-files)))
 
 (define main compile)
diff --git a/module/srfi/srfi-39.scm b/module/srfi/srfi-39.scm
index dba86fd..d1c46d0 100644
--- a/module/srfi/srfi-39.scm
+++ b/module/srfi/srfi-39.scm
@@ -57,37 +57,41 @@
 (define get-conv-tag (lambda () 'get-conv)) ;; arbitrary unique (as per eq?) 
value
 
 (define (make-parameter/helper val conv)
-  (let ((value (make-fluid))
-        (conv conv))
-    (begin
-      (fluid-set! value (conv val))
-      (lambda new-value
-        (cond
-         ((null? new-value) (fluid-ref value))
-         ((eq? (car new-value) get-fluid-tag) value)
-         ((eq? (car new-value) get-conv-tag) conv)
-         ((null? (cdr new-value)) (fluid-set! value (conv (car new-value))))
-         (else (error "make-parameter expects 0 or 1 arguments" 
new-value)))))))
+  (let ((fluid (make-fluid (conv val))))
+    (case-lambda
+      (()
+       (fluid-ref fluid))
+      ((new-value)
+       (cond
+        ((eq? new-value get-fluid-tag) fluid)
+        ((eq? new-value get-conv-tag) conv)
+        (else (fluid-set! fluid (conv new-value))))))))
 
 (define-syntax-rule (parameterize ((?param ?value) ...) ?body ...)
   (with-parameters* (list ?param ...)
                     (list ?value ...)
                     (lambda () ?body ...)))
 
-(define (current-input-port . new-value)
-  (if (null? new-value)
-      ((@ (guile) current-input-port))
-      (apply set-current-input-port new-value)))
+(define current-input-port
+  (case-lambda
+    (()
+     ((@ (guile) current-input-port)))
+    ((new-value)
+     (set-current-input-port new-value))))
 
-(define (current-output-port . new-value)
-  (if (null? new-value)
-      ((@ (guile) current-output-port))
-      (apply set-current-output-port new-value)))
+(define current-output-port
+  (case-lambda
+    (()
+     ((@ (guile) current-output-port)))
+    ((new-value)
+     (set-current-output-port new-value))))
 
-(define (current-error-port . new-value)
-  (if (null? new-value)
-      ((@ (guile) current-error-port))
-      (apply set-current-error-port new-value)))
+(define current-error-port
+  (case-lambda
+    (()
+     ((@ (guile) current-error-port)))
+    ((new-value)
+     (set-current-error-port new-value))))
 
 (define port-list
   (list current-input-port current-output-port current-error-port))
diff --git a/module/system/base/language.scm b/module/system/base/language.scm
index 10d2d74..5b27bc9 100644
--- a/module/system/base/language.scm
+++ b/module/system/base/language.scm
@@ -111,7 +111,7 @@
 ;;; Current language
 ;;;
 
-(define *current-language* (make-fluid))
+(define *current-language* (make-fluid 'scheme))
 
 (define (current-language)
-  (or (fluid-ref *current-language*) 'scheme))
+  (fluid-ref *current-language*))
diff --git a/module/system/base/message.scm b/module/system/base/message.scm
index 95468ca..aed3502 100644
--- a/module/system/base/message.scm
+++ b/module/system/base/message.scm
@@ -56,15 +56,13 @@
 
 (define *current-warning-port*
   ;; The port where warnings are sent.
-  (make-fluid))
+  (make-fluid (current-error-port)))
 
 (fluid-set! *current-warning-port* (current-error-port))
 
 (define *current-warning-prefix*
   ;; Prefix string when emitting a warning.
-  (make-fluid))
-
-(fluid-set! *current-warning-prefix* ";;; ")
+  (make-fluid ";;; "))
 
 
 (define-record-type <warning-type>
diff --git a/module/system/base/target.scm b/module/system/base/target.scm
index 573ccca..a81b3d9 100644
--- a/module/system/base/target.scm
+++ b/module/system/base/target.scm
@@ -21,6 +21,7 @@
 
 (define-module (system base target)
   #:use-module (rnrs bytevectors)
+  #:use-module (ice-9 regex)
   #:export (target-type with-target
 
             target-cpu target-vendor target-os
@@ -33,44 +34,90 @@
 ;;; Target types
 ;;;
 
-(define %target-type (make-fluid))
+(define %native-word-size
+  ;; The native word size.  Note: don't use `word-size' from
+  ;; (system vm objcode) to avoid a circular dependency.
+  ((@ (system foreign) sizeof) '*))
 
-(define (target-type)
-  (or (fluid-ref %target-type)
-      %host-type))
+(define %target-type (make-fluid %host-type))
+(define %target-endianness (make-fluid (native-endianness)))
+(define %target-word-size (make-fluid %native-word-size))
 
 (define (validate-target target)
   (if (or (not (string? target))
           (let ((parts (string-split target #\-)))
-            (or (< 3 (length parts))
+            (or (< (length parts) 3)
                 (or-map string-null? parts))))
       (error "invalid target" target)))
 
 (define (with-target target thunk)
   (validate-target target)
-  (with-fluids ((%target-type target))
-    (thunk)))
+  (let ((cpu (triplet-cpu target)))
+    (with-fluids ((%target-type target)
+                  (%target-endianness (cpu-endianness cpu))
+                  (%target-word-size (cpu-word-size cpu)))
+      (thunk))))
+
+(define (cpu-endianness cpu)
+  "Return the endianness for CPU."
+  (if (string=? cpu (triplet-cpu %host-type))
+      (native-endianness)
+      (cond ((string-match "^i[0-9]86$" cpu)
+             (endianness little))
+            ((member cpu '("x86_64" "ia64"
+                           "powerpcle" "powerpc64le" "mipsel" "mips64el"))
+             (endianness little))
+            ((member cpu '("sparc" "sparc64" "powerpc" "powerpc64" "spu"
+                           "mips" "mips64"))
+             (endianness big))
+            ((string-match "^arm.*el" cpu)
+             (endianness little))
+            (else
+             (error "unknown CPU endianness" cpu)))))
+
+(define (cpu-word-size cpu)
+  "Return the word size for CPU."
+  (if (string=? cpu (triplet-cpu %host-type))
+      %native-word-size
+      (cond ((string-match "^i[0-9]86$" cpu) 4)
+            ((string-match "64$" cpu) 8)
+            ((string-match "64[lbe][lbe]$" cpu) 8)
+            ((member cpu '("sparc" "powerpc" "mips")) 4)
+            ((string-match "^arm.*" cpu) 4)
+            (else "unknown CPU word size" cpu))))
+
+(define (triplet-cpu t)
+  (substring t 0 (string-index t #\-)))
+
+(define (triplet-vendor t)
+  (let ((start (1+ (string-index t #\-))))
+    (substring t start (string-index t #\- start))))
+
+(define (triplet-os t)
+  (let ((start (1+ (string-index t #\- (1+ (string-index t #\-))))))
+    (substring t start)))
+
+
+(define (target-type)
+  "Return the GNU configuration triplet of the target platform."
+  (fluid-ref %target-type))
 
 (define (target-cpu)
-  (let ((t (target-type)))
-    (substring t 0 (string-index t #\-))))
+  "Return the CPU name of the target platform."
+  (triplet-cpu (target-type)))
 
 (define (target-vendor)
-  (let* ((t (target-type))
-         (start (1+ (string-index t #\-))))
-    (substring t start (string-index t #\- start))))
+  "Return the vendor name of the target platform."
+  (triplet-vendor (target-type)))
 
 (define (target-os)
-  (let* ((t (target-type))
-         (start (1+ (string-index t #\- (1+ (string-index t #\-))))))
-    (substring t start)))
+  "Return the operating system name of the target platform."
+  (triplet-os (target-type)))
 
 (define (target-endianness)
-  (if (equal? (target-type) %host-type)
-      (native-endianness)
-      (error "cross-compilation not yet handled" %host-type (target-type))))
+  "Return the endianness object of the target platform."
+  (fluid-ref %target-endianness))
 
 (define (target-word-size)
-  (if (equal? (target-type) %host-type)
-      ((@ (system foreign) sizeof) '*)
-      (error "cross-compilation not yet handled" %host-type (target-type))))
+  "Return the word size, in bytes, of the target platform."
+  (fluid-ref %target-word-size))
diff --git a/module/system/repl/common.scm b/module/system/repl/common.scm
index 718cc0b..6c6ee2a 100644
--- a/module/system/repl/common.scm
+++ b/module/system/repl/common.scm
@@ -134,7 +134,9 @@ See <http://www.gnu.org/licenses/lgpl.html>, for more 
details.")
 
 (define %make-repl make-repl)
 (define* (make-repl lang #:optional debug)
-  (%make-repl #:language (lookup-language lang)
+  (%make-repl #:language (if (language? lang)
+                             lang
+                             (lookup-language lang))
               #:options (copy-tree repl-default-options)
               #:tm-stats (times)
               #:gc-stats (gc-stats)
diff --git a/module/texinfo/plain-text.scm b/module/texinfo/plain-text.scm
index 93a7c1d..87e43e5 100644
--- a/module/texinfo/plain-text.scm
+++ b/module/texinfo/plain-text.scm
@@ -1,6 +1,6 @@
 ;;;; (texinfo plain-text) -- rendering stexinfo as plain text
 ;;;;
-;;;;   Copyright (C) 2009, 2010  Free Software Foundation, Inc.
+;;;;   Copyright (C) 2009, 2010, 2011  Free Software Foundation, Inc.
 ;;;;    Copyright (C) 2003,2004,2009  Andy Wingo <wingo at pobox dot com>
 ;;;; 
 ;;;; This library is free software; you can redistribute it and/or
@@ -41,9 +41,6 @@
   (or (arg-ref key %-args)
       (error "Missing argument:" key %-args)))
 
-(define *indent* (make-fluid))
-(define *itemizer* (make-fluid))
-
 (define (make-ticker str)
   (lambda () str))
 (define (make-enumerator n)
@@ -52,9 +49,8 @@
       (set! n (1+ n))
       (format #f "~A. " last))))
 
-(fluid-set! *indent* "")
-;; Shouldn't be necessary to do this, but just in case.
-(fluid-set! *itemizer* (make-ticker "* "))
+(define *indent* (make-fluid ""))
+(define *itemizer* (make-fluid (make-ticker "* ")))
 
 (define-macro (with-indent n . body)
   `(with-fluids ((*indent* (string-append (fluid-ref *indent*)
diff --git a/module/web/http.scm b/module/web/http.scm
index e8765f3..dc742a1 100644
--- a/module/web/http.scm
+++ b/module/web/http.scm
@@ -470,7 +470,7 @@ ordered alist."
   val)
 
 (define (default-val-validator k val)
-  (string? val))
+  (or (not val) (string? val)))
 
 (define (default-val-writer k val port)
   (if (or (string-index val #\;)
@@ -518,9 +518,9 @@ ordered alist."
                ((pair? elt)
                 (let ((k (car elt))
                       (v (cdr elt)))
-                  (and (or (string? k) (symbol? k))
+                  (and (symbol? k)
                        (valid? k v))))
-               ((or (string? elt) (symbol? elt))
+               ((symbol? elt)
                 (valid? elt #f))
                (else #f)))))
 
@@ -611,7 +611,7 @@ ordered alist."
                               (valid? default-val-validator))
   (list-of? list
             (lambda (elt)
-              (key-value-list? list valid?))))
+              (key-value-list? elt valid?))))
 
 (define* (write-param-list list port #:optional
                            (val-writer default-val-writer))
@@ -871,7 +871,10 @@ ordered alist."
          (cons scheme (parse-key-value-list str default-val-parser delim 
end)))))))
 
 (define (validate-credentials val)
-  (and (pair? val) (symbol? (car val)) (key-value-list? (cdr val))))
+  (and (pair? val) (symbol? (car val))
+       (case (car val)
+         ((basic) (string? (cdr val)))
+         (else (key-value-list? (cdr val))))))
 
 (define (write-credentials val port)
   (display (car val) port)
@@ -1137,7 +1140,7 @@ phrase\"."
     (lambda (str)
       (map string->symbol (split-and-trim str)))
     (lambda (v)
-      (list-of? symbol? v))
+      (list-of? v symbol?))
     (lambda (v port)
       (write-list v port display ", "))))
 
@@ -1242,7 +1245,14 @@ phrase\"."
       ((private no-cache)
        (and v-str (split-header-names v-str)))
       (else v-str)))
-  default-val-validator
+  (lambda (k v)
+    (case k
+      ((max-age max-stale min-fresh s-maxage)
+       (non-negative-integer? v))
+      ((private no-cache)
+       (or (not v) (list-of-header-names? v)))
+      (else
+       (not v))))
   (lambda (k v port)
     (cond
      ((string? v) (display v port))
@@ -1522,7 +1532,7 @@ phrase\"."
   (lambda (k v)
     (if (eq? k 'q)
         (valid-quality? v)
-        (string? v)))
+        (or (not v) (string? v))))
   (lambda (k v port)
     (if (eq? k 'q)
         (write-quality v port)
diff --git a/test-suite/lib.scm b/test-suite/lib.scm
index b63c595..ecf3924 100644
--- a/test-suite/lib.scm
+++ b/test-suite/lib.scm
@@ -425,8 +425,7 @@
   (append (current-test-prefix) (list name)))
 
 ;;; A fluid containing the current test prefix, as a list.
-(define prefix-fluid (make-fluid))
-(fluid-set! prefix-fluid '())
+(define prefix-fluid (make-fluid '()))
 (define (current-test-prefix)
   (fluid-ref prefix-fluid))
 
diff --git a/test-suite/tests/asm-to-bytecode.test 
b/test-suite/tests/asm-to-bytecode.test
index 049e4b2..edb9bfd 100644
--- a/test-suite/tests/asm-to-bytecode.test
+++ b/test-suite/tests/asm-to-bytecode.test
@@ -1,15 +1,17 @@
 ;;;; Assembly to bytecode compilation -*- mode: scheme; coding: utf-8; -*-
 ;;;;
+;;;;   Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+;;;;
 ;;;; This library is free software; you can redistribute it and/or
 ;;;; modify it under the terms of the GNU Lesser General Public
 ;;;; License as published by the Free Software Foundation; either
 ;;;; version 3 of the License, or (at your option) any later version.
-;;;; 
+;;;;
 ;;;; This library is distributed in the hope that it will be useful,
 ;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
 ;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 ;;;; Lesser General Public License for more details.
-;;;; 
+;;;;
 ;;;; You should have received a copy of the GNU Lesser General Public
 ;;;; License along with this library; if not, write to the Free Software
 ;;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 
USA
@@ -19,6 +21,8 @@
   #:use-module ((rnrs io ports) #:select (open-bytevector-output-port))
   #:use-module (test-suite lib)
   #:use-module (system vm instruction)
+  #:use-module (system vm objcode)
+  #:use-module (system base target)
   #:use-module (language assembly)
   #:use-module (language assembly compile-bytecode))
 
@@ -114,3 +118,80 @@
                  (uint32 0)     ;; metalen
                  make-int8 3
                  return))))
+
+
+(define (test-triplet cpu vendor os)
+  (let ((triplet (string-append cpu "-" vendor "-" os)))
+    (pass-if (format #f "triplet ~a" triplet)
+      (with-target triplet
+        (lambda ()
+          (and (string=? (target-cpu) cpu)
+               (string=? (target-vendor) vendor)
+               (string=? (target-os) os)))))))
+
+(define %objcode-cookie-size
+  (string-length "GOOF----LE-8-2.0"))
+
+(define (test-target triplet endian word-size)
+  (pass-if (format #f "target `~a' honored" triplet)
+    (call-with-values (lambda ()
+                        (open-bytevector-output-port))
+      (lambda (p get-objcode)
+        (with-target triplet
+          (lambda ()
+            (let ((b (compile-bytecode
+                      '(load-program () 16 #f
+                                     (assert-nargs-ee/locals 1)
+                                     (make-int8 77)
+                                     (toplevel-ref 1)
+                                     (local-ref 0)
+                                     (mul)
+                                     (add)
+                                     (return)
+                                     (nop) (nop) (nop)
+                                     (nop) (nop))
+                      #f)))
+              (write-objcode (bytecode->objcode b) p)
+              (let ((cookie   (make-bytevector %objcode-cookie-size))
+                    (expected (format #f "GOOF----~a-~a-~a"
+                                      (cond ((eq? endian (endianness little))
+                                             "LE")
+                                            ((eq? endian (endianness big))
+                                             "BE")
+                                            (else
+                                             (error "unknown endianness"
+                                                    endian)))
+                                      word-size
+                                      (effective-version))))
+                (bytevector-copy! (get-objcode) 0 cookie 0
+                                  %objcode-cookie-size)
+                (string=? (utf8->string cookie) expected)))))))))
+
+(with-test-prefix "cross-compilation"
+
+  (test-triplet "i586" "pc" "gnu0.3")
+  (test-triplet "x86_64" "unknown" "linux-gnu")
+  (test-triplet "x86_64" "unknown" "kfreebsd-gnu")
+
+  (test-target "i586-pc-gnu0.3" (endianness little) 4)
+  (test-target "x86_64-pc-linux-gnu" (endianness little) 8)
+  (test-target "powerpc-unknown-linux-gnu" (endianness big) 4)
+  (test-target "sparc64-unknown-freebsd8.2" (endianness big) 8)
+
+  (pass-if-exception "unknown target"
+    exception:miscellaneous-error
+    (call-with-values (lambda ()
+                        (open-bytevector-output-port))
+      (lambda (p get-objcode)
+        (let* ((b (compile-bytecode '(load-program () 3 #f
+                                                   (make-int8 77)
+                                                   (return))
+                                    #f))
+               (o (bytecode->objcode b)))
+          (with-target "fcpu-unknown-gnu1.0"
+            (lambda ()
+              (write-objcode o p))))))))
+
+;; Local Variables:
+;; eval: (put 'with-target 'scheme-indent-function 1)
+;; End:
diff --git a/test-suite/tests/bytevectors.test 
b/test-suite/tests/bytevectors.test
index 081e4ee..3007434 100644
--- a/test-suite/tests/bytevectors.test
+++ b/test-suite/tests/bytevectors.test
@@ -1,6 +1,6 @@
 ;;;; bytevectors.test --- R6RS bytevectors. -*- mode: scheme; coding: utf-8; 
-*-
 ;;;;
-;;;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+;;;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
 ;;;; Ludovic Courtès
 ;;;;
 ;;;; This library is free software; you can redistribute it and/or
@@ -42,7 +42,14 @@
     (and (bytevector=? (make-bytevector 20 7)
                        (make-bytevector 20 7))
          (not (bytevector=? (make-bytevector 20 7)
-                            (make-bytevector 20 0))))))
+                            (make-bytevector 20 0)))))
+
+  (pass-if "bytevector-copy! overlapping"
+    ;; See <http://debbugs.gnu.org/10070>.
+    (let ((b (u8-list->bytevector '(1 2 3 4 5 6 7 8))))
+      (bytevector-copy! b 0 b 3 4)
+      (bytevector->u8-list b)
+      (bytevector=? b #vu8(1 2 3 1 2 3 4 8)))))
 
 
 (with-test-prefix/c&e "2.3 Operations on Bytes and Octets"
diff --git a/test-suite/tests/eval.test b/test-suite/tests/eval.test
index 9d6bc6d..a128cd7 100644
--- a/test-suite/tests/eval.test
+++ b/test-suite/tests/eval.test
@@ -231,10 +231,10 @@
 
 (with-test-prefix "define set procedure-name"
 
-  (expect-fail "closure"
+  (pass-if "closure"
     (eq? 'foo-closure (procedure-name bar-closure)))
 
-  (expect-fail "procedure-with-setter"
+  (expect-fail "procedure-with-setter" ; FIXME: `pass-if' when it's supported
     (eq? 'foo-pws (procedure-name bar-pws))))
 
 ;;;
@@ -330,78 +330,49 @@
           0))
 
 (with-test-prefix "stacks"
-  (with-debugging-evaluator
-
-    (pass-if "stack involving a subr"
-      ;; The subr involving the error must appear exactly once on the stack.
-      (catch 'result
-        (lambda ()
-          (throw 'unresolved)
-          (start-stack 'foo
-            (lazy-catch 'wrong-type-arg
-              (lambda ()
-                ;; Trigger a `wrong-type-arg' exception.
-                (fluid-ref 'not-a-fluid))
-              (lambda _
-                (let* ((stack  (make-stack #t))
-                       (frames (stack->frames stack)))
-                  (throw 'result
-                         (count (lambda (frame)
-                                  (and (frame-procedure? frame)
-                                       (eq? (frame-procedure frame)
-                                            fluid-ref)))
-                                frames)))))))
-        (lambda (key result)
-          (= 1 result))))
-
-    (pass-if "stack involving a gsubr"
-      ;; The gsubr involving the error must appear exactly once on the stack.
-      ;; This is less obvious since gsubr application may require an
-      ;; additional `SCM_APPLY ()' call, which should not be visible to the
-      ;; application.
-      (catch 'result
-        (lambda ()
-          (throw 'unresolved)
-          (start-stack 'foo
-            (lazy-catch 'wrong-type-arg
-              (lambda ()
-                ;; Trigger a `wrong-type-arg' exception.
-                (hashq-ref 'wrong 'type 'arg))
-              (lambda _
-                (let* ((stack  (make-stack #t))
-                       (frames (stack->frames stack)))
-                  (throw 'result
-                         (count (lambda (frame)
-                                  (and (frame-procedure? frame)
-                                       (eq? (frame-procedure frame)
-                                            hashq-ref)))
-                                frames)))))))
-        (lambda (key result)
-          (= 1 result))))
-
-    (pass-if "arguments of a gsubr stack frame"
-      ;; Create a stack with two gsubr frames and make sure the arguments are
-      ;; correct.
-      (catch 'result
-        (lambda ()
-          (throw 'unresolved)
-          (start-stack 'foo
-            (lazy-catch 'wrong-type-arg
-              (lambda ()
-                ;; Trigger a `wrong-type-arg' exception.
-                (substring 'wrong 'type 'arg))
-              (lambda _
-                (let* ((stack  (make-stack #t))
-                       (frames (stack->frames stack)))
-                  (throw 'result
-                         (map (lambda (frame)
-                                (cons (frame-procedure frame)
-                                      (frame-arguments frame)))
-                              frames)))))))
-        (lambda (key result)
-          (and (equal? (car result) `(,make-stack #t))
-               (pair? (member `(,substring  wrong type arg)
-                              (cdr result)))))))))
+  (pass-if "stack involving a primitive"
+    ;; The primitive involving the error must appear exactly once on the
+    ;; stack.
+    (catch 'result
+      (lambda ()
+        (start-stack 'foo
+                     (with-throw-handler 'wrong-type-arg
+                       (lambda ()
+                         ;; Trigger a `wrong-type-arg' exception.
+                         (hashq-ref 'wrong 'type 'arg))
+                       (lambda _
+                         (let* ((stack  (make-stack #t))
+                                (frames (stack->frames stack)))
+                           (throw 'result
+                                  (count (lambda (frame)
+                                           (eq? (frame-procedure frame)
+                                                hashq-ref))
+                                         frames)))))))
+      (lambda (key result)
+        (= 1 result))))
+
+  (pass-if "arguments of a primitive stack frame"
+    ;; Create a stack with two primitive frames and make sure the
+    ;; arguments are correct.
+    (catch 'result
+      (lambda ()
+        (start-stack 'foo
+                     (with-throw-handler 'wrong-type-arg
+                       (lambda ()
+                         ;; Trigger a `wrong-type-arg' exception.
+                         (substring 'wrong 'type 'arg))
+                       (lambda _
+                         (let* ((stack  (make-stack #t))
+                                (frames (stack->frames stack)))
+                           (throw 'result
+                                  (map (lambda (frame)
+                                         (cons (frame-procedure frame)
+                                               (frame-arguments frame)))
+                                       frames)))))))
+      (lambda (key result)
+        (and (equal? (car result) `(,make-stack #t))
+             (pair? (member `(,substring  wrong type arg)
+                            (cdr result))))))))
 
 ;;;
 ;;; letrec init evaluation
diff --git a/test-suite/tests/foreign.test b/test-suite/tests/foreign.test
index 5ddd31c..2c326c9 100644
--- a/test-suite/tests/foreign.test
+++ b/test-suite/tests/foreign.test
@@ -254,6 +254,16 @@
                   (map proc* arg1 arg2 arg3)))
         (throw 'unresolved)))
 
+  (pass-if "procedures returning a pointer"
+    (if (defined? 'procedure->pointer)
+        (let* ((called? #f)
+               (proc    (lambda (i) (set! called? #t) (make-pointer i)))
+               (pointer (procedure->pointer '* proc (list int)))
+               (proc*   (pointer->procedure '* pointer (list int)))
+               (result  (proc* 777)))
+          (and called? (equal? result (make-pointer 777))))
+        (throw 'unresolved)))
+
   (pass-if "procedures returning void"
     (if (defined? 'procedure->pointer)
         (let* ((called? #f)
@@ -262,6 +272,22 @@
                (proc*   (pointer->procedure void pointer '())))
           (proc*)
           called?)
+        (throw 'unresolved)))
+
+  (pass-if "procedure is retained"
+    ;; The lambda passed to `procedure->pointer' must remain live.
+    (if (defined? 'procedure->pointer)
+        (let* ((ptr   (procedure->pointer int
+                                          (lambda (x) (+ x 7))
+                                          (list int)))
+               (procs (unfold (cut >= <> 10000)
+                              (lambda (i)
+                                (pointer->procedure int ptr (list int)))
+                              1+
+                              0)))
+          (gc) (gc) (gc)
+          (every (cut = <> 9)
+                 (map (lambda (f) (f 2)) procs)))
         (throw 'unresolved))))
 
 
diff --git a/test-suite/tests/procprop.test b/test-suite/tests/procprop.test
index 3998a62..25dd4c2 100644
--- a/test-suite/tests/procprop.test
+++ b/test-suite/tests/procprop.test
@@ -1,7 +1,7 @@
 ;;;; procprop.test --- Procedure properties -*- mode: scheme; coding: utf-8; 
-*-
 ;;;; Ludovic Courtès <address@hidden>
 ;;;;
-;;;;   Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+;;;;   Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
 ;;;;
 ;;;; This library is free software; you can redistribute it and/or
 ;;;; modify it under the terms of the GNU Lesser General Public
@@ -26,7 +26,12 @@
     (eq? 'display (procedure-name display)))
 
   (pass-if "gsubr"
-    (eq? 'hashq-ref (procedure-name hashq-ref))))
+    (eq? 'hashq-ref (procedure-name hashq-ref)))
+
+  (pass-if "from eval"
+    (eq? 'foobar (procedure-name
+                  (eval '(begin (define (foobar) #t) foobar)
+                        (current-module))))))
 
 
 (with-test-prefix "procedure-arity"
@@ -52,4 +57,19 @@
 
   (pass-if "list"
     (equal? (procedure-minimum-arity list)
-            '(0 0 #t))))
+            '(0 0 #t)))
+
+  (pass-if "fixed, eval"
+    (equal? (procedure-minimum-arity (eval '(lambda (a b) #t)
+                                           (current-module)))
+            '(2 0 #f)))
+
+  (pass-if "rest, eval"
+    (equal? (procedure-minimum-arity (eval '(lambda (a b . c) #t)
+                                           (current-module)))
+            '(2 0 #t)))
+
+  (pass-if "opt, eval"
+    (equal? (procedure-minimum-arity (eval '(lambda* (a b #:optional c) #t)
+                                           (current-module)))
+            '(2 1 #f))))
diff --git a/test-suite/tests/web-http.test b/test-suite/tests/web-http.test
index e4d6efb..b6abbf3 100644
--- a/test-suite/tests/web-http.test
+++ b/test-suite/tests/web-http.test
@@ -41,8 +41,9 @@
   (syntax-rules ()
     ((_ sym str val)
      (pass-if (format #f "~a: ~s -> ~s" 'sym str val)
-       (equal? (parse-header 'sym str)
-               val)))))
+       (and (equal? (parse-header 'sym str)
+                    val)
+            (valid-header? 'sym val))))))
 
 (define-syntax pass-if-any-error
   (syntax-rules ()


hooks/post-receive
-- 
GNU Guile



reply via email to

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