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-120-g78f0ef2


From: Andy Wingo
Subject: [Guile-commits] GNU Guile branch, master, updated. v2.1.0-120-g78f0ef2
Date: Fri, 17 Jun 2011 23:11:28 +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=78f0ef20a77dd745a8fa4c1ac1fae4d42b481adf

The branch, master has been updated
       via  78f0ef20a77dd745a8fa4c1ac1fae4d42b481adf (commit)
       via  25711fa4caf815ffdf6000045534b2bf8f73740b (commit)
       via  c245d16a5b18afdb68356f8343e6af7b3c32935b (commit)
       via  b88fef5519fab447c6c5405928c248f9f0966148 (commit)
       via  f86f748db26eba15ca71e65b3e084a2fcbf8c3ac (commit)
       via  669ea4ebff8f0eb69b36f3d55b60e69f9f27c761 (commit)
       via  0083cb5ec441c2a6df8d6eb1710eb8a88cf9fc5a (commit)
       via  ad0fedbf82786988b764492aca664664da2f85ad (commit)
       via  074f39c7bc86386fd2d3ce9f4657451e6621e511 (commit)
       via  933c6eb795d2a427d469cf94957e4cdb2758ecd2 (commit)
       via  95643853d75f2dfe6209a2702ebb58248d606049 (commit)
       via  284019a2a5cfd7c7734701671f6a1776f11211eb (commit)
       via  a67f2fce5456caf8e63dacb110b8e15600bb1c9f (commit)
       via  7505c6e024369f2ef381512cbc4a790cc6503428 (commit)
      from  99cc1092a89292c6e6db2db537988e5963b19868 (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 78f0ef20a77dd745a8fa4c1ac1fae4d42b481adf
Merge: 25711fa c245d16
Author: Andy Wingo <address@hidden>
Date:   Sat Jun 18 00:45:19 2011 +0200

    Merge remote-tracking branch 'local-2.0/stable-2.0'
    
    Conflicts:
        module/ice-9/psyntax-pp.scm
        module/language/tree-il/compile-glil.scm

commit 25711fa4caf815ffdf6000045534b2bf8f73740b
Author: Andy Wingo <address@hidden>
Date:   Sat Jun 18 00:38:52 2011 +0200

    fix tree-il->scheme bug for seq
    
    * module/language/tree-il.scm (tree-il->scheme): Fix bug for `seq'.
    
    * module/ice-9/psyntax-pp.scm: Regenerate correctly.

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

Summary of changes:
 NEWS                                     |    1 +
 acinclude.m4                             |   12 +-
 configure.ac                             |   22 +-
 lib/Makefile.am                          |   35 +-
 lib/basename-lgpl.c                      |   75 +
 lib/dirname-lgpl.c                       |   86 +
 lib/dirname.h                            |   46 +
 lib/rename.c                             |  473 +
 lib/rmdir.c                              |   53 +
 lib/{isnand.c => same-inode.h}           |   14 +-
 lib/stripslash.c                         |   45 +
 libguile/Makefile.am                     |    4 +-
 libguile/filesys.c                       |    6 +-
 libguile/load.c                          |   29 +-
 libguile/strings.c                       |   41 +-
 libguile/win32-dirent.c                  |  133 -
 libguile/win32-dirent.h                  |   65 -
 m4/dirname.m4                            |   19 +
 m4/gnulib-cache.m4                       |    3 +-
 m4/gnulib-comp.m4                        |   27 +
 m4/rename.m4                             |  184 +
 m4/rmdir.m4                              |   34 +
 module/ice-9/boot-9.scm                  |   12 +-
 module/ice-9/psyntax-pp.scm              |29835 +++++++++++++++---------------
 module/ice-9/psyntax.scm                 |    3 +-
 module/language/tree-il.scm              |    3 +-
 module/language/tree-il/compile-glil.scm |   85 +-
 module/language/tree-il/primitives.scm   |    8 +-
 module/system/base/language.scm          |    5 +-
 test-suite/tests/compiler.test           |   17 +-
 test-suite/tests/tree-il.test            |   20 +
 31 files changed, 16025 insertions(+), 15370 deletions(-)
 create mode 100644 lib/basename-lgpl.c
 create mode 100644 lib/dirname-lgpl.c
 create mode 100644 lib/dirname.h
 create mode 100644 lib/rename.c
 create mode 100644 lib/rmdir.c
 copy lib/{isnand.c => same-inode.h} (67%)
 create mode 100644 lib/stripslash.c
 delete mode 100644 libguile/win32-dirent.c
 delete mode 100644 libguile/win32-dirent.h
 create mode 100644 m4/dirname.m4
 create mode 100644 m4/rename.m4
 create mode 100644 m4/rmdir.m4

diff --git a/NEWS b/NEWS
index 7ae9c11..2ca0272 100644
--- a/NEWS
+++ b/NEWS
@@ -166,6 +166,7 @@ ports)' documentation from the R6RS documentation.  Thanks 
Andreas!
 ** Fix multithreaded access to internal hash tables
 ** Emit a 1-based line number in error messages
 ** Fix define-module ordering
+** Fix several POSIX functions to use the locale encoding
     
 
 Changes in 2.0.1 (since 2.0.0):
diff --git a/acinclude.m4 b/acinclude.m4
index ba8b090..5bd1ced 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -529,8 +529,14 @@ AC_DEFUN([gl_CLOCK_TIME],
   AC_SUBST([LIB_CLOCK_GETTIME])
   gl_saved_libs=$LIBS
     AC_SEARCH_LIBS([clock_gettime], [rt posix4],
-                   [test "$ac_cv_search_clock_gettime" = "none required" ||
-                    LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime])
-    AC_CHECK_FUNCS([clock_gettime clock_settime])
+                   [if test "$ac_cv_search_clock_gettime" = "none required"; 
then
+                      AC_SEARCH_LIBS([clock_getcpuclockid], [rt posix4],
+                                     [test "$ac_cv_search_clock_getcpuclockid" 
= "none required" \
+                                      || 
LIB_CLOCK_GETTIME=$ac_cv_search_clock_getcpuclockid],
+                                     
[LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime])
+                    else
+                      LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime
+                    fi])
+    AC_CHECK_FUNCS([clock_gettime clock_settime clock_getcpuclockid])
   LIBS=$gl_saved_libs
 ])
diff --git a/configure.ac b/configure.ac
index 57c06d5..ea3ca61 100644
--- a/configure.ac
+++ b/configure.ac
@@ -67,7 +67,8 @@ AC_PROG_LN_S
 dnl Gnulib.
 gl_INIT
 dnl FIXME: remove me and the acinclude.m4 code when clock-gettime is
-dnl LGPL-compatible and can be imported normally.
+dnl fixed for clock_getcpuclockid and can be imported normally from
+dnl gnulib.
 gl_CLOCK_TIME
 
 AC_PROG_CC_C89
@@ -716,7 +717,6 @@ case $host in
       [Define if you have the <winsock2.h> header file.])])
     AC_CHECK_LIB(ws2_32, main)
     AC_LIBOBJ([win32-uname])
-    AC_LIBOBJ([win32-dirent])
     if test "$enable_networking" = yes ; then
       AC_LIBOBJ([win32-socket])
     fi
@@ -1145,19 +1145,19 @@ AC_CHECK_FUNCS(asinh acosh atanh copysign finite sincos 
trunc)
 # use <math.h> so doesn't detect on macro-only systems like HP-UX.
 #
 AC_MSG_CHECKING([for isinf])
-AC_LINK_IFELSE(AC_LANG_SOURCE(
+AC_LINK_IFELSE([AC_LANG_SOURCE(
 [[#include <math.h>
 volatile double x = 0.0;
-int main () { return (isinf(x) != 0); }]]),
+int main () { return (isinf(x) != 0); }]])],
   [AC_MSG_RESULT([yes])
    AC_DEFINE([HAVE_ISINF], 1,
              [Define to 1 if you have the `isinf' macro or function.])],
   [AC_MSG_RESULT([no])])
 AC_MSG_CHECKING([for isnan])
-AC_LINK_IFELSE(AC_LANG_SOURCE(
-[[#include <math.h>
+AC_LINK_IFELSE([AC_LANG_SOURCE([[
+#include <math.h>
 volatile double x = 0.0;
-int main () { return (isnan(x) != 0); }]]),
+int main () { return (isnan(x) != 0); }]])],
   [AC_MSG_RESULT([yes])
    AC_DEFINE([HAVE_ISNAN], 1,
              [Define to 1 if you have the `isnan' macro or function.])],
@@ -1438,8 +1438,8 @@ case "$with_threads" in
 
     AC_CACHE_CHECK([whether PTHREAD_ONCE_INIT needs braces],
       guile_cv_need_braces_on_pthread_once_init,
-      [AC_COMPILE_IFELSE([#include <pthread.h>
-         pthread_once_t foo = PTHREAD_ONCE_INIT;],
+      [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>
+         pthread_once_t foo = PTHREAD_ONCE_INIT;]])],
         [guile_cv_need_braces_on_pthread_once_init=no],
         [guile_cv_need_braces_on_pthread_once_init=yes])])
     if test "$guile_cv_need_braces_on_pthread_once_init" = yes; then
@@ -1450,8 +1450,8 @@ case "$with_threads" in
     # 6.5.30m with GCC 3.3.
     AC_CACHE_CHECK([whether PTHREAD_MUTEX_INITIALIZER needs braces],
       guile_cv_need_braces_on_pthread_mutex_initializer,
-      [AC_COMPILE_IFELSE([#include <pthread.h>
-         pthread_mutex_t foo = PTHREAD_MUTEX_INITIALIZER;],
+      [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>
+         pthread_mutex_t foo = PTHREAD_MUTEX_INITIALIZER;]])],
         [guile_cv_need_braces_on_pthread_mutex_initializer=no],
         [guile_cv_need_braces_on_pthread_mutex_initializer=yes])])
     if test "$guile_cv_need_braces_on_pthread_mutex_initializer" = yes; then
diff --git a/lib/Makefile.am b/lib/Makefile.am
index dfba180..5ae7948 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -9,7 +9,7 @@
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib 
--m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --lgpl=3 
--no-conditional-dependencies --libtool --macro-prefix=gl --no-vc-files accept 
alignof alloca-opt announce-gen autobuild bind byteswap canonicalize-lgpl ceil 
close connect duplocale environ extensions flock floor fpieee frexp full-read 
full-write func gendocs getaddrinfo getpeername getsockname getsockopt 
git-version-gen gitlog-to-changelog gnu-web-doc-update gnupload havelib 
iconv_open-utf inet_ntop inet_pton isinf isnan ldexp lib-symbol-versions 
lib-symbol-visibility libunistring listen locale log1p maintainer-makefile 
malloc-gnu malloca nproc open pipe2 putenv recv recvfrom send sendto setsockopt 
shutdown socket stat-time stdlib strftime striconveh string sys_stat trunc 
verify vsnprintf warnings wchar
+# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib 
--m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --lgpl=3 
--no-conditional-dependencies --libtool --macro-prefix=gl --no-vc-files accept 
alignof alloca-opt announce-gen autobuild bind byteswap canonicalize-lgpl ceil 
close connect duplocale environ extensions flock floor fpieee frexp full-read 
full-write func gendocs getaddrinfo getpeername getsockname getsockopt 
git-version-gen gitlog-to-changelog gnu-web-doc-update gnupload havelib 
iconv_open-utf inet_ntop inet_pton isinf isnan ldexp lib-symbol-versions 
lib-symbol-visibility libunistring listen locale log1p maintainer-makefile 
malloc-gnu malloca nproc open pipe2 putenv recv recvfrom rename send sendto 
setsockopt shutdown socket stat-time stdlib strftime striconveh string sys_stat 
trunc verify vsnprintf warnings wchar
 
 AUTOMAKE_OPTIONS = 1.5 gnits subdir-objects
 
@@ -277,6 +277,14 @@ EXTRA_libgnu_la_SOURCES += connect.c
 
 ## end   gnulib module connect
 
+## begin gnulib module dirname-lgpl
+
+libgnu_la_SOURCES += dirname-lgpl.c basename-lgpl.c stripslash.c
+
+EXTRA_DIST += dirname.h
+
+## end   gnulib module dirname-lgpl
+
 ## begin gnulib module dosname
 
 
@@ -1111,6 +1119,24 @@ EXTRA_libgnu_la_SOURCES += recvfrom.c
 
 ## end   gnulib module recvfrom
 
+## begin gnulib module rename
+
+
+EXTRA_DIST += rename.c
+
+EXTRA_libgnu_la_SOURCES += rename.c
+
+## end   gnulib module rename
+
+## begin gnulib module rmdir
+
+
+EXTRA_DIST += rmdir.c
+
+EXTRA_libgnu_la_SOURCES += rmdir.c
+
+## end   gnulib module rmdir
+
 ## begin gnulib module safe-read
 
 libgnu_la_SOURCES += safe-read.c
@@ -1129,6 +1155,13 @@ EXTRA_libgnu_la_SOURCES += safe-read.c
 
 ## end   gnulib module safe-write
 
+## begin gnulib module same-inode
+
+
+EXTRA_DIST += same-inode.h
+
+## end   gnulib module same-inode
+
 ## begin gnulib module send
 
 
diff --git a/lib/basename-lgpl.c b/lib/basename-lgpl.c
new file mode 100644
index 0000000..685cbc7
--- /dev/null
+++ b/lib/basename-lgpl.c
@@ -0,0 +1,75 @@
+/* basename.c -- return the last element in a file name
+
+   Copyright (C) 1990, 1998-2001, 2003-2006, 2009-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 License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program 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 program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include "dirname.h"
+
+#include <string.h>
+
+/* Return the address of the last file name component of NAME.  If
+   NAME has no relative file name components because it is a file
+   system root, return the empty string.  */
+
+char *
+last_component (char const *name)
+{
+  char const *base = name + FILE_SYSTEM_PREFIX_LEN (name);
+  char const *p;
+  bool saw_slash = false;
+
+  while (ISSLASH (*base))
+    base++;
+
+  for (p = base; *p; p++)
+    {
+      if (ISSLASH (*p))
+        saw_slash = true;
+      else if (saw_slash)
+        {
+          base = p;
+          saw_slash = false;
+        }
+    }
+
+  return (char *) base;
+}
+
+/* Return the length of the basename NAME.  Typically NAME is the
+   value returned by base_name or last_component.  Act like strlen
+   (NAME), except omit all trailing slashes.  */
+
+size_t
+base_len (char const *name)
+{
+  size_t len;
+  size_t prefix_len = FILE_SYSTEM_PREFIX_LEN (name);
+
+  for (len = strlen (name);  1 < len && ISSLASH (name[len - 1]);  len--)
+    continue;
+
+  if (DOUBLE_SLASH_IS_DISTINCT_ROOT && len == 1
+      && ISSLASH (name[0]) && ISSLASH (name[1]) && ! name[2])
+    return 2;
+
+  if (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE && prefix_len
+      && len == prefix_len && ISSLASH (name[prefix_len]))
+    return prefix_len + 1;
+
+  return len;
+}
diff --git a/lib/dirname-lgpl.c b/lib/dirname-lgpl.c
new file mode 100644
index 0000000..934c271
--- /dev/null
+++ b/lib/dirname-lgpl.c
@@ -0,0 +1,86 @@
+/* dirname.c -- return all but the last element in a file name
+
+   Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-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 License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program 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 program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include "dirname.h"
+
+#include <stdlib.h>
+#include <string.h>
+
+/* Return the length of the prefix of FILE that will be used by
+   dir_name.  If FILE is in the working directory, this returns zero
+   even though `dir_name (FILE)' will return ".".  Works properly even
+   if there are trailing slashes (by effectively ignoring them).  */
+
+size_t
+dir_len (char const *file)
+{
+  size_t prefix_length = FILE_SYSTEM_PREFIX_LEN (file);
+  size_t length;
+
+  /* Advance prefix_length beyond important leading slashes.  */
+  prefix_length += (prefix_length != 0
+                    ? (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
+                       && ISSLASH (file[prefix_length]))
+                    : (ISSLASH (file[0])
+                       ? ((DOUBLE_SLASH_IS_DISTINCT_ROOT
+                           && ISSLASH (file[1]) && ! ISSLASH (file[2])
+                           ? 2 : 1))
+                       : 0));
+
+  /* Strip the basename and any redundant slashes before it.  */
+  for (length = last_component (file) - file;
+       prefix_length < length; length--)
+    if (! ISSLASH (file[length - 1]))
+      break;
+  return length;
+}
+
+
+/* In general, we can't use the builtin `dirname' function if available,
+   since it has different meanings in different environments.
+   In some environments the builtin `dirname' modifies its argument.
+
+   Return the leading directories part of FILE, allocated with malloc.
+   Works properly even if there are trailing slashes (by effectively
+   ignoring them).  Return NULL on failure.
+
+   If lstat (FILE) would succeed, then { chdir (dir_name (FILE));
+   lstat (base_name (FILE)); } will access the same file.  Likewise,
+   if the sequence { chdir (dir_name (FILE));
+   rename (base_name (FILE), "foo"); } succeeds, you have renamed FILE
+   to "foo" in the same directory FILE was in.  */
+
+char *
+mdir_name (char const *file)
+{
+  size_t length = dir_len (file);
+  bool append_dot = (length == 0
+                     || (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
+                         && length == FILE_SYSTEM_PREFIX_LEN (file)
+                         && file[2] != '\0' && ! ISSLASH (file[2])));
+  char *dir = malloc (length + append_dot + 1);
+  if (!dir)
+    return NULL;
+  memcpy (dir, file, length);
+  if (append_dot)
+    dir[length++] = '.';
+  dir[length] = '\0';
+  return dir;
+}
diff --git a/lib/dirname.h b/lib/dirname.h
new file mode 100644
index 0000000..6e7f1e9
--- /dev/null
+++ b/lib/dirname.h
@@ -0,0 +1,46 @@
+/*  Take file names apart into directory and base names.
+
+    Copyright (C) 1998, 2001, 2003-2006, 2009-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 License as published by
+    the Free Software Foundation; either version 3 of the License, or
+    (at your option) any later version.
+
+    This program 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 program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef DIRNAME_H_
+# define DIRNAME_H_ 1
+
+# include <stdbool.h>
+# include <stddef.h>
+# include "dosname.h"
+
+# ifndef DIRECTORY_SEPARATOR
+#  define DIRECTORY_SEPARATOR '/'
+# endif
+
+# ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT
+#  define DOUBLE_SLASH_IS_DISTINCT_ROOT 0
+# endif
+
+# if GNULIB_DIRNAME
+char *base_name (char const *file);
+char *dir_name (char const *file);
+# endif
+
+char *mdir_name (char const *file);
+size_t base_len (char const *file);
+size_t dir_len (char const *file);
+char *last_component (char const *file);
+
+bool strip_trailing_slashes (char *file);
+
+#endif /* not DIRNAME_H_ */
diff --git a/lib/rename.c b/lib/rename.c
new file mode 100644
index 0000000..ebbbfea
--- /dev/null
+++ b/lib/rename.c
@@ -0,0 +1,473 @@
+/* Work around rename bugs in some systems.
+
+   Copyright (C) 2001-2003, 2005-2006, 2009-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 License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program 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 program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Volker Borchert, Eric Blake.  */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#undef rename
+
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+/* The mingw rename has problems with trailing slashes; it also
+   requires use of native Windows calls to allow atomic renames over
+   existing files.  */
+
+# include <errno.h>
+# include <stdbool.h>
+# include <stdlib.h>
+# include <sys/stat.h>
+# include <unistd.h>
+
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+
+# include "dirname.h"
+
+/* Rename the file SRC to DST.  This replacement is necessary on
+   Windows, on which the system rename function will not replace
+   an existing DST.  */
+int
+rpl_rename (char const *src, char const *dst)
+{
+  int error;
+  size_t src_len = strlen (src);
+  size_t dst_len = strlen (dst);
+  char *src_base = last_component (src);
+  char *dst_base = last_component (dst);
+  bool src_slash;
+  bool dst_slash;
+  bool dst_exists;
+  struct stat src_st;
+  struct stat dst_st;
+
+  /* Filter out dot as last component.  */
+  if (!src_len || !dst_len)
+    {
+      errno = ENOENT;
+      return -1;
+    }
+  if (*src_base == '.')
+    {
+      size_t len = base_len (src_base);
+      if (len == 1 || (len == 2 && src_base[1] == '.'))
+        {
+          errno = EINVAL;
+          return -1;
+        }
+    }
+  if (*dst_base == '.')
+    {
+      size_t len = base_len (dst_base);
+      if (len == 1 || (len == 2 && dst_base[1] == '.'))
+        {
+          errno = EINVAL;
+          return -1;
+        }
+    }
+
+  /* Presence of a trailing slash requires directory semantics.  If
+     the source does not exist, or if the destination cannot be turned
+     into a directory, give up now.  Otherwise, strip trailing slashes
+     before calling rename.  There are no symlinks on mingw, so stat
+     works instead of lstat.  */
+  src_slash = ISSLASH (src[src_len - 1]);
+  dst_slash = ISSLASH (dst[dst_len - 1]);
+  if (stat (src, &src_st))
+    return -1;
+  if (stat (dst, &dst_st))
+    {
+      if (errno != ENOENT || (!S_ISDIR (src_st.st_mode) && dst_slash))
+        return -1;
+      dst_exists = false;
+    }
+  else
+    {
+      if (S_ISDIR (dst_st.st_mode) != S_ISDIR (src_st.st_mode))
+        {
+          errno = S_ISDIR (dst_st.st_mode) ? EISDIR : ENOTDIR;
+          return -1;
+        }
+      dst_exists = true;
+    }
+
+  /* There are no symlinks, so if a file existed with a trailing
+     slash, it must be a directory, and we don't have to worry about
+     stripping strip trailing slash.  However, mingw refuses to
+     replace an existing empty directory, so we have to help it out.
+     And canonicalize_file_name is not yet ported to mingw; however,
+     for directories, getcwd works as a viable alternative.  Ensure
+     that we can get back to where we started before using it; later
+     attempts to return are fatal.  Note that we can end up losing a
+     directory if rename then fails, but it was empty, so not much
+     damage was done.  */
+  if (dst_exists && S_ISDIR (dst_st.st_mode))
+    {
+      char *cwd = getcwd (NULL, 0);
+      char *src_temp;
+      char *dst_temp;
+      if (!cwd || chdir (cwd))
+        return -1;
+      if (IS_ABSOLUTE_FILE_NAME (src))
+        {
+          dst_temp = chdir (dst) ? NULL : getcwd (NULL, 0);
+          src_temp = chdir (src) ? NULL : getcwd (NULL, 0);
+        }
+      else
+        {
+          src_temp = chdir (src) ? NULL : getcwd (NULL, 0);
+          if (!IS_ABSOLUTE_FILE_NAME (dst) && chdir (cwd))
+            abort ();
+          dst_temp = chdir (dst) ? NULL : getcwd (NULL, 0);
+        }
+      if (chdir (cwd))
+        abort ();
+      free (cwd);
+      if (!src_temp || !dst_temp)
+        {
+          free (src_temp);
+          free (dst_temp);
+          errno = ENOMEM;
+          return -1;
+        }
+      src_len = strlen (src_temp);
+      if (strncmp (src_temp, dst_temp, src_len) == 0
+          && (ISSLASH (dst_temp[src_len]) || dst_temp[src_len] == '\0'))
+        {
+          error = dst_temp[src_len];
+          free (src_temp);
+          free (dst_temp);
+          if (error)
+            {
+              errno = EINVAL;
+              return -1;
+            }
+          return 0;
+        }
+      if (rmdir (dst))
+        {
+          error = errno;
+          free (src_temp);
+          free (dst_temp);
+          errno = error;
+          return -1;
+        }
+      free (src_temp);
+      free (dst_temp);
+    }
+
+  /* MoveFileEx works if SRC is a directory without any flags, but
+     fails with MOVEFILE_REPLACE_EXISTING, so try without flags first.
+     Thankfully, MoveFileEx handles hard links correctly, even though
+     rename() does not.  */
+  if (MoveFileEx (src, dst, 0))
+    return 0;
+
+  /* Retry with MOVEFILE_REPLACE_EXISTING if the move failed
+     due to the destination already existing.  */
+  error = GetLastError ();
+  if (error == ERROR_FILE_EXISTS || error == ERROR_ALREADY_EXISTS)
+    {
+      if (MoveFileEx (src, dst, MOVEFILE_REPLACE_EXISTING))
+        return 0;
+
+      error = GetLastError ();
+    }
+
+  switch (error)
+    {
+    case ERROR_FILE_NOT_FOUND:
+    case ERROR_PATH_NOT_FOUND:
+    case ERROR_BAD_PATHNAME:
+    case ERROR_DIRECTORY:
+      errno = ENOENT;
+      break;
+
+    case ERROR_ACCESS_DENIED:
+    case ERROR_SHARING_VIOLATION:
+      errno = EACCES;
+      break;
+
+    case ERROR_OUTOFMEMORY:
+      errno = ENOMEM;
+      break;
+
+    case ERROR_CURRENT_DIRECTORY:
+      errno = EBUSY;
+      break;
+
+    case ERROR_NOT_SAME_DEVICE:
+      errno = EXDEV;
+      break;
+
+    case ERROR_WRITE_PROTECT:
+      errno = EROFS;
+      break;
+
+    case ERROR_WRITE_FAULT:
+    case ERROR_READ_FAULT:
+    case ERROR_GEN_FAILURE:
+      errno = EIO;
+      break;
+
+    case ERROR_HANDLE_DISK_FULL:
+    case ERROR_DISK_FULL:
+    case ERROR_DISK_TOO_FRAGMENTED:
+      errno = ENOSPC;
+      break;
+
+    case ERROR_FILE_EXISTS:
+    case ERROR_ALREADY_EXISTS:
+      errno = EEXIST;
+      break;
+
+    case ERROR_BUFFER_OVERFLOW:
+    case ERROR_FILENAME_EXCED_RANGE:
+      errno = ENAMETOOLONG;
+      break;
+
+    case ERROR_INVALID_NAME:
+    case ERROR_DELETE_PENDING:
+      errno = EPERM;        /* ? */
+      break;
+
+# ifndef ERROR_FILE_TOO_LARGE
+/* This value is documented but not defined in all versions of windows.h.  */
+#  define ERROR_FILE_TOO_LARGE 223
+# endif
+    case ERROR_FILE_TOO_LARGE:
+      errno = EFBIG;
+      break;
+
+    default:
+      errno = EINVAL;
+      break;
+    }
+
+  return -1;
+}
+
+#else /* ! W32 platform */
+
+# include <errno.h>
+# include <stdio.h>
+# include <stdlib.h>
+# include <string.h>
+# include <sys/stat.h>
+# include <unistd.h>
+
+# include "dirname.h"
+# include "same-inode.h"
+
+/* Rename the file SRC to DST, fixing any trailing slash bugs.  */
+
+int
+rpl_rename (char const *src, char const *dst)
+{
+  size_t src_len = strlen (src);
+  size_t dst_len = strlen (dst);
+  char *src_temp = (char *) src;
+  char *dst_temp = (char *) dst;
+  bool src_slash;
+  bool dst_slash;
+  bool dst_exists;
+  int ret_val = -1;
+  int rename_errno = ENOTDIR;
+  struct stat src_st;
+  struct stat dst_st;
+
+  if (!src_len || !dst_len)
+    return rename (src, dst); /* Let strace see the ENOENT failure.  */
+
+# if RENAME_DEST_EXISTS_BUG
+  {
+    char *src_base = last_component (src);
+    char *dst_base = last_component (dst);
+    if (*src_base == '.')
+      {
+        size_t len = base_len (src_base);
+        if (len == 1 || (len == 2 && src_base[1] == '.'))
+          {
+            errno = EINVAL;
+            return -1;
+          }
+      }
+    if (*dst_base == '.')
+      {
+        size_t len = base_len (dst_base);
+        if (len == 1 || (len == 2 && dst_base[1] == '.'))
+          {
+            errno = EINVAL;
+            return -1;
+          }
+      }
+  }
+# endif /* RENAME_DEST_EXISTS_BUG */
+
+  src_slash = src[src_len - 1] == '/';
+  dst_slash = dst[dst_len - 1] == '/';
+
+# if !RENAME_HARD_LINK_BUG && !RENAME_DEST_EXISTS_BUG
+  /* If there are no trailing slashes, then trust the native
+     implementation unless we also suspect issues with hard link
+     detection or file/directory conflicts.  */
+  if (!src_slash && !dst_slash)
+    return rename (src, dst);
+# endif /* !RENAME_HARD_LINK_BUG && !RENAME_DEST_EXISTS_BUG */
+
+  /* Presence of a trailing slash requires directory semantics.  If
+     the source does not exist, or if the destination cannot be turned
+     into a directory, give up now.  Otherwise, strip trailing slashes
+     before calling rename.  */
+  if (lstat (src, &src_st))
+    return -1;
+  if (lstat (dst, &dst_st))
+    {
+      if (errno != ENOENT || (!S_ISDIR (src_st.st_mode) && dst_slash))
+        return -1;
+      dst_exists = false;
+    }
+  else
+    {
+      if (S_ISDIR (dst_st.st_mode) != S_ISDIR (src_st.st_mode))
+        {
+          errno = S_ISDIR (dst_st.st_mode) ? EISDIR : ENOTDIR;
+          return -1;
+        }
+# if RENAME_HARD_LINK_BUG
+      if (SAME_INODE (src_st, dst_st))
+        return 0;
+# endif /* RENAME_HARD_LINK_BUG */
+      dst_exists = true;
+    }
+
+# if (RENAME_TRAILING_SLASH_SOURCE_BUG || RENAME_DEST_EXISTS_BUG        \
+      || RENAME_HARD_LINK_BUG)
+  /* If the only bug was that a trailing slash was allowed on a
+     non-existing file destination, as in Solaris 10, then we've
+     already covered that situation.  But if there is any problem with
+     a trailing slash on an existing source or destination, as in
+     Solaris 9, or if a directory can overwrite a symlink, as on
+     Cygwin 1.5, or if directories cannot be created with trailing
+     slash, as on NetBSD 1.6, then we must strip the offending slash
+     and check that we have not encountered a symlink instead of a
+     directory.
+
+     Stripping a trailing slash interferes with POSIX semantics, where
+     rename behavior on a symlink with a trailing slash operates on
+     the corresponding target directory.  We prefer the GNU semantics
+     of rejecting any use of a symlink with trailing slash, but do not
+     enforce them, since Solaris 10 is able to obey POSIX semantics
+     and there might be clients expecting it, as counter-intuitive as
+     those semantics are.
+
+     Technically, we could also follow the POSIX behavior by chasing a
+     readlink trail, but that is harder to implement.  */
+  if (src_slash)
+    {
+      src_temp = strdup (src);
+      if (!src_temp)
+        {
+          /* Rather than rely on strdup-posix, we set errno ourselves.  */
+          rename_errno = ENOMEM;
+          goto out;
+        }
+      strip_trailing_slashes (src_temp);
+      if (lstat (src_temp, &src_st))
+        {
+          rename_errno = errno;
+          goto out;
+        }
+      if (S_ISLNK (src_st.st_mode))
+        goto out;
+    }
+  if (dst_slash)
+    {
+      dst_temp = strdup (dst);
+      if (!dst_temp)
+        {
+          rename_errno = ENOMEM;
+          goto out;
+        }
+      strip_trailing_slashes (dst_temp);
+      if (lstat (dst_temp, &dst_st))
+        {
+          if (errno != ENOENT)
+            {
+              rename_errno = errno;
+              goto out;
+            }
+        }
+      else if (S_ISLNK (dst_st.st_mode))
+        goto out;
+    }
+# endif /* RENAME_TRAILING_SLASH_SOURCE_BUG || RENAME_DEST_EXISTS_BUG
+           || RENAME_HARD_LINK_BUG */
+
+# if RENAME_DEST_EXISTS_BUG
+  /* Cygwin 1.5 sometimes behaves oddly when moving a non-empty
+     directory on top of an empty one (the old directory name can
+     reappear if the new directory tree is removed).  Work around this
+     by removing the target first, but don't remove the target if it
+     is a subdirectory of the source.  Note that we can end up losing
+     a directory if rename then fails, but it was empty, so not much
+     damage was done.  */
+  if (dst_exists && S_ISDIR (dst_st.st_mode))
+    {
+      if (src_st.st_dev != dst_st.st_dev)
+        {
+          rename_errno = EXDEV;
+          goto out;
+        }
+      if (src_temp != src)
+        free (src_temp);
+      src_temp = canonicalize_file_name (src);
+      if (dst_temp != dst)
+        free (dst_temp);
+      dst_temp = canonicalize_file_name (dst);
+      if (!src_temp || !dst_temp)
+        {
+          rename_errno = ENOMEM;
+          goto out;
+        }
+      src_len = strlen (src_temp);
+      if (strncmp (src_temp, dst_temp, src_len) == 0
+          && dst_temp[src_len] == '/')
+        {
+          rename_errno = EINVAL;
+          goto out;
+        }
+      if (rmdir (dst))
+        {
+          rename_errno = errno;
+          goto out;
+        }
+    }
+# endif /* RENAME_DEST_EXISTS_BUG */
+
+  ret_val = rename (src_temp, dst_temp);
+  rename_errno = errno;
+ out:
+  if (src_temp != src)
+    free (src_temp);
+  if (dst_temp != dst)
+    free (dst_temp);
+  errno = rename_errno;
+  return ret_val;
+}
+#endif /* ! W32 platform */
diff --git a/lib/rmdir.c b/lib/rmdir.c
new file mode 100644
index 0000000..98104bf
--- /dev/null
+++ b/lib/rmdir.c
@@ -0,0 +1,53 @@
+/* Work around rmdir bugs.
+
+   Copyright (C) 1988, 1990, 1999, 2003-2006, 2009-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 License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program 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 program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#include <errno.h>
+#include <string.h>
+
+#include "dosname.h"
+
+#undef rmdir
+
+/* Remove directory DIR.
+   Return 0 if successful, -1 if not.  */
+
+int
+rpl_rmdir (char const *dir)
+{
+  /* Work around cygwin 1.5.x bug where rmdir("dir/./") succeeds.  */
+  size_t len = strlen (dir);
+  int result;
+  while (len && ISSLASH (dir[len - 1]))
+    len--;
+  if (len && dir[len - 1] == '.' && (1 == len || ISSLASH (dir[len - 2])))
+    {
+      errno = EINVAL;
+      return -1;
+    }
+  result = rmdir (dir);
+  /* Work around mingw bug, where rmdir("file/") fails with EINVAL
+     instead of ENOTDIR.  We've already filtered out trailing ., the
+     only reason allowed by POSIX for EINVAL.  */
+  if (result == -1 && errno == EINVAL)
+    errno = ENOTDIR;
+  return result;
+}
diff --git a/lib/isnand.c b/lib/same-inode.h
similarity index 67%
copy from lib/isnand.c
copy to lib/same-inode.h
index adfac27..e89cb53 100644
--- a/lib/isnand.c
+++ b/lib/same-inode.h
@@ -1,5 +1,6 @@
-/* Test for NaN that does not need libm.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+/* Determine whether two stat buffers refer to the same file.
+
+   Copyright (C) 2006, 2009-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 License as published by
@@ -14,6 +15,11 @@
    You should have received a copy of the GNU Lesser General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-/* Written by Bruno Haible <address@hidden>, 2008.  */
+#ifndef SAME_INODE_H
+# define SAME_INODE_H 1
+
+# define SAME_INODE(Stat_buf_1, Stat_buf_2) \
+   ((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \
+    && (Stat_buf_1).st_dev == (Stat_buf_2).st_dev)
 
-#include "isnan.c"
+#endif
diff --git a/lib/stripslash.c b/lib/stripslash.c
new file mode 100644
index 0000000..31034cb
--- /dev/null
+++ b/lib/stripslash.c
@@ -0,0 +1,45 @@
+/* stripslash.c -- remove redundant trailing slashes from a file name
+
+   Copyright (C) 1990, 2001, 2003-2006, 2009-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 License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program 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 program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include "dirname.h"
+
+/* Remove trailing slashes from FILE.  Return true if a trailing slash
+   was removed.  This is useful when using file name completion from a
+   shell that adds a "/" after directory names (such as tcsh and
+   bash), because on symlinks to directories, several system calls
+   have different semantics according to whether a trailing slash is
+   present.  */
+
+bool
+strip_trailing_slashes (char *file)
+{
+  char *base = last_component (file);
+  char *base_lim;
+  bool had_slash;
+
+  /* last_component returns "" for file system roots, but we need to turn
+     `///' into `/'.  */
+  if (! *base)
+    base = file;
+  base_lim = base + base_len (base);
+  had_slash = (*base_lim != '\0');
+  *base_lim = '\0';
+  return had_slash;
+}
diff --git a/libguile/Makefile.am b/libguile/Makefile.am
index 9cc1434..e69a155 100644
--- a/libguile/Makefile.am
+++ b/libguile/Makefile.am
@@ -433,7 +433,7 @@ address@hidden@_la_SOURCES = _scm.h         \
     dynl.c regex-posix.c                       \
     posix.c net_db.c socket.c                  \
     debug-malloc.c mkstemp.c                   \
-    win32-uname.c win32-dirent.c win32-socket.c        \
+    win32-uname.c win32-socket.c               \
     locale-categories.h
 
 ## delete guile-snarf.awk from the installation bindir, in case it's
@@ -450,7 +450,7 @@ noinst_HEADERS = conv-integer.i.c conv-uinteger.i.c         
\
                  ieee-754.h                                    \
                  srfi-14.i.c                                   \
                  quicksort.i.c                                  \
-                 win32-uname.h win32-dirent.h win32-socket.h   \
+                 win32-uname.h win32-socket.h                  \
                 private-gc.h private-options.h
 
 # vm instructions
diff --git a/libguile/filesys.c b/libguile/filesys.c
index 2429e80..86287a1 100644
--- a/libguile/filesys.c
+++ b/libguile/filesys.c
@@ -97,11 +97,7 @@
 #endif
 
 
-#if defined (__MINGW32__) || defined (_MSC_VER) || defined (__BORLANDC__)
-# include "win32-dirent.h"
-# define NAMLEN(dirent) strlen((dirent)->d_name)
-/* The following bits are per AC_HEADER_DIRENT doco in the autoconf manual */
-#elif HAVE_DIRENT_H
+#if HAVE_DIRENT_H
 # include <dirent.h>
 # define NAMLEN(dirent) strlen((dirent)->d_name)
 #else
diff --git a/libguile/load.c b/libguile/load.c
index fa19a2a..b06fd77 100644
--- a/libguile/load.c
+++ b/libguile/load.c
@@ -293,6 +293,12 @@ scm_init_load_path ()
       snprintf (cachedir, sizeof(cachedir), "%s/.cache/" FALLBACK_DIR,
                 pwd->pw_dir);
 #endif /* HAVE_GETPWENT */
+#ifdef __MINGW32__
+    else if ((e = getenv ("LOCALAPPDATA")))
+      snprintf (cachedir, sizeof (cachedir), "%s/.cache/" FALLBACK_DIR, e);
+    else if ((e = getenv ("APPDATA")))
+      snprintf (cachedir, sizeof (cachedir), "%s/.cache/" FALLBACK_DIR, e);
+#endif /* __MINGW32__ */
     else
       cachedir[0] = 0;
 
@@ -730,14 +736,27 @@ static SCM
 auto_compile_catch_handler (void *data, SCM tag, SCM throw_args)
 {
   SCM source = PTR2SCM (data);
+  SCM oport, lines;
+
+  oport = scm_open_output_string ();
+  scm_print_exception (oport, SCM_BOOL_F, tag, throw_args);
+
   scm_puts (";;; WARNING: compilation of ", scm_current_error_port ());
   scm_display (source, scm_current_error_port ());
   scm_puts (" failed:\n", scm_current_error_port ());
-  scm_puts (";;; key ", scm_current_error_port ());
-  scm_write (tag, scm_current_error_port ());
-  scm_puts (", throw args ", scm_current_error_port ());
-  scm_write (throw_args, scm_current_error_port ());
-  scm_newline (scm_current_error_port ());
+
+  lines = scm_string_split (scm_get_output_string (oport),
+                            SCM_MAKE_CHAR ('\n'));
+  for (; scm_is_pair (lines); lines = scm_cdr (lines))
+    if (scm_c_string_length (scm_car (lines)))
+      {
+        scm_puts (";;; ", scm_current_error_port ());
+        scm_display (scm_car (lines), scm_current_error_port ());
+        scm_newline (scm_current_error_port ());
+      }
+
+  scm_close_port (oport);
+
   return SCM_BOOL_F;
 }
 
diff --git a/libguile/strings.c b/libguile/strings.c
index e54c27d..b43ccab 100644
--- a/libguile/strings.c
+++ b/libguile/strings.c
@@ -2052,8 +2052,9 @@ SCM_DEFINE (scm_string_normalize_nfkd, 
"string-normalize-nfkd", 1, 0, 0,
 }
 #undef FUNC_NAME
 
-/* converts C scm_array of strings to SCM scm_list of strings. */
-/* If argc < 0, a null terminated scm_array is assumed. */
+/* converts C scm_array of strings to SCM scm_list of strings.
+   If argc < 0, a null terminated scm_array is assumed.
+   The current locale encoding is assumed */
 SCM
 scm_makfromstrs (int argc, char **argv)
 {
@@ -2067,37 +2068,43 @@ scm_makfromstrs (int argc, char **argv)
 }
 
 /* Return a newly allocated array of char pointers to each of the strings
-   in args, with a terminating NULL pointer.  */
+   in args, with a terminating NULL pointer.  The strings are encoded using
+   the current locale. */
 
 char **
 scm_i_allocate_string_pointers (SCM list)
 #define FUNC_NAME "scm_i_allocate_string_pointers"
 {
   char **result;
-  int len = scm_ilength (list);
+  int list_len = scm_ilength (list);
   int i;
 
-  if (len < 0)
+  if (list_len < 0)
     scm_wrong_type_arg_msg (NULL, 0, list, "proper list");
 
-  result = scm_gc_malloc ((len + 1) * sizeof (char *),
+  result = scm_gc_malloc ((list_len + 1) * sizeof (char *),
                          "string pointers");
-  result[len] = NULL;
+  result[list_len] = NULL;
 
-  /* The list might be have been modified in another thread, so
+  /* The list might have been modified in another thread, so
      we check LIST before each access.
    */
-  for (i = 0; i < len && scm_is_pair (list); i++)
+  for (i = 0; i < list_len && scm_is_pair (list); i++)
     {
-      SCM str;
-      size_t len;
-
-      str = SCM_CAR (list);
-      len = scm_c_string_length (str);
-
-      result[i] = scm_gc_malloc_pointerless (len + 1, "string pointers");
-      memcpy (result[i], scm_i_string_chars (str), len);
+      SCM str = SCM_CAR (list);
+      size_t len;  /* String length in bytes */
+      char *c_str = scm_to_locale_stringn (str, &len);
+
+      /* OPTIMIZE-ME: Right now, scm_to_locale_stringn always uses
+        scm_malloc to allocate the returned string, which must be
+        explicitly deallocated.  This forces us to copy the string a
+        second time into a new buffer.  Ideally there would be variants
+        of scm_to_*_stringn that can return garbage-collected buffers. */
+
+      result[i] = scm_gc_malloc_pointerless (len + 1, "string");
+      memcpy (result[i], c_str, len);
       result[i][len] = '\0';
+      free (c_str);
 
       list = SCM_CDR (list);
     }
diff --git a/libguile/win32-dirent.c b/libguile/win32-dirent.c
deleted file mode 100644
index de170c7..0000000
--- a/libguile/win32-dirent.c
+++ /dev/null
@@ -1,133 +0,0 @@
-/* Copyright (C) 2001, 2006, 2008 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
- */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include "libguile/__scm.h"
-
-#include <windows.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "win32-dirent.h"
-
-DIR *
-opendir (const char * name)
-{
-  DIR *dir;
-  HANDLE hnd;
-  char *file;
-  WIN32_FIND_DATA find;
-
-  if (!name || !*name) 
-    return NULL;
-  file = malloc (strlen (name) + 3);
-  strcpy (file, name);
-  if (file[strlen (name) - 1] != '/' && file[strlen (name) - 1] != '\\')
-    strcat (file, "/*");
-  else
-    strcat (file, "*");
-  
-  if ((hnd = FindFirstFile (file, &find)) == INVALID_HANDLE_VALUE)
-    {
-      free (file);
-      return NULL;
-    }
-
-  dir = malloc (sizeof (DIR));
-  dir->mask = file;
-  dir->fd = (int) hnd;
-  dir->data = malloc (sizeof (WIN32_FIND_DATA));
-  dir->allocation = sizeof (WIN32_FIND_DATA);
-  dir->size = dir->allocation;
-  dir->filepos = 0;
-  memcpy (dir->data, &find, sizeof (WIN32_FIND_DATA));
-  return dir;
-}
-
-struct dirent *
-readdir (DIR * dir)
-{
-  static struct dirent entry;
-  WIN32_FIND_DATA *find;
-
-  entry.d_ino = 0;
-  entry.d_type = 0;
-  find = (WIN32_FIND_DATA *) dir->data;
-
-  if (dir->filepos)
-    {
-      if (!FindNextFile ((HANDLE) dir->fd, find))
-       return NULL;
-    }
-
-  entry.d_off = dir->filepos;
-  strncpy (entry.d_name, find->cFileName, sizeof (entry.d_name));
-  entry.d_reclen = strlen (find->cFileName);
-  dir->filepos++;
-  return &entry;
-}
-
-int 
-closedir (DIR * dir)
-{
-  HANDLE hnd = (HANDLE) dir->fd;
-  free (dir->data);
-  free (dir->mask);
-  free (dir);
-  return FindClose (hnd) ? 0 : -1;
-}
-
-void 
-rewinddir (DIR * dir)
-{
-  HANDLE hnd = (HANDLE) dir->fd;
-  WIN32_FIND_DATA *find = (WIN32_FIND_DATA *) dir->data;
-
-  FindClose (hnd);
-  hnd = FindFirstFile (dir->mask, find);
-  dir->fd = (int) hnd;
-  dir->filepos = 0;
-}
-
-void 
-seekdir (DIR * dir, off_t offset)
-{
-  off_t n;
-
-  rewinddir (dir);
-  for (n = 0; n < offset; n++)
-    {
-      if (FindNextFile ((HANDLE) dir->fd, (WIN32_FIND_DATA *) dir->data))
-       dir->filepos++;
-    }
-}
-
-off_t 
-telldir (DIR * dir)
-{
-  return dir->filepos;
-}
-
-int 
-dirfd (DIR * dir)
-{
-  return dir->fd;
-}
diff --git a/libguile/win32-dirent.h b/libguile/win32-dirent.h
deleted file mode 100644
index 578db49..0000000
--- a/libguile/win32-dirent.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* classes: h_files */
-
-#ifndef SCM_WIN32_DIRENT_H
-#define SCM_WIN32_DIRENT_H
-
-/* Copyright (C) 2001, 2006 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
- */
-
-/* Directory stream type.
-   The miscellaneous Unix `readdir' implementations read directory data
-   into a buffer and return `struct dirent *' pointers into it.  */
-
-#include <sys/types.h>
-
-struct dirstream
-{
-  int fd;              /* File descriptor.  */
-  char *data;          /* Directory block.  */
-  size_t allocation;   /* Space allocated for the block.  */
-  size_t size;         /* Total valid data in the block.  */
-  size_t offset;       /* Current offset into the block.  */
-  off_t filepos;       /* Position of next entry to read.  */
-  char *mask;           /* Initial file mask. */
-};
-
-struct dirent
-{
-  long d_ino;
-  off_t d_off;
-  unsigned short int d_reclen;
-  unsigned char d_type;
-  char d_name[256];
-};
-
-#define d_fileno d_ino /* Backwards compatibility. */
-
-/* This is the data type of directory stream objects.
-   The actual structure is opaque to users.  */
-
-typedef struct dirstream DIR;
-
-DIR * opendir (const char * name);
-struct dirent * readdir (DIR * dir);
-int closedir (DIR * dir);
-void rewinddir (DIR * dir);
-void seekdir (DIR * dir, off_t offset);
-off_t telldir (DIR * dir);
-int dirfd (DIR * dir);
-
-#endif /* SCM_WIN32_DIRENT_H */
diff --git a/m4/dirname.m4 b/m4/dirname.m4
new file mode 100644
index 0000000..dcec7e4
--- /dev/null
+++ b/m4/dirname.m4
@@ -0,0 +1,19 @@
+#serial 10   -*- autoconf -*-
+dnl Copyright (C) 2002-2006, 2009-2011 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_DIRNAME],
+[
+  AC_REQUIRE([gl_DIRNAME_LGPL])
+])
+
+AC_DEFUN([gl_DIRNAME_LGPL],
+[
+  dnl Prerequisites of lib/dirname.h.
+  AC_REQUIRE([gl_DOUBLE_SLASH_ROOT])
+
+  dnl No prerequisites of lib/basename-lgpl.c, lib/dirname-lgpl.c,
+  dnl lib/stripslash.c.
+])
diff --git a/m4/gnulib-cache.m4 b/m4/gnulib-cache.m4
index 64dfef0..a0d0ff8 100644
--- a/m4/gnulib-cache.m4
+++ b/m4/gnulib-cache.m4
@@ -15,7 +15,7 @@
 
 
 # Specification in the form of a command-line invocation:
-#   gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 
--doc-base=doc --tests-base=tests --aux-dir=build-aux --lgpl=3 
--no-conditional-dependencies --libtool --macro-prefix=gl --no-vc-files accept 
alignof alloca-opt announce-gen autobuild bind byteswap canonicalize-lgpl ceil 
close connect duplocale environ extensions flock floor fpieee frexp full-read 
full-write func gendocs getaddrinfo getpeername getsockname getsockopt 
git-version-gen gitlog-to-changelog gnu-web-doc-update gnupload havelib 
iconv_open-utf inet_ntop inet_pton isinf isnan ldexp lib-symbol-versions 
lib-symbol-visibility libunistring listen locale log1p maintainer-makefile 
malloc-gnu malloca nproc open pipe2 putenv recv recvfrom send sendto setsockopt 
shutdown socket stat-time stdlib strftime striconveh string sys_stat trunc 
verify vsnprintf warnings wchar
+#   gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 
--doc-base=doc --tests-base=tests --aux-dir=build-aux --lgpl=3 
--no-conditional-dependencies --libtool --macro-prefix=gl --no-vc-files accept 
alignof alloca-opt announce-gen autobuild bind byteswap canonicalize-lgpl ceil 
close connect duplocale environ extensions flock floor fpieee frexp full-read 
full-write func gendocs getaddrinfo getpeername getsockname getsockopt 
git-version-gen gitlog-to-changelog gnu-web-doc-update gnupload havelib 
iconv_open-utf inet_ntop inet_pton isinf isnan ldexp lib-symbol-versions 
lib-symbol-visibility libunistring listen locale log1p maintainer-makefile 
malloc-gnu malloca nproc open pipe2 putenv recv recvfrom rename send sendto 
setsockopt shutdown socket stat-time stdlib strftime striconveh string sys_stat 
trunc verify vsnprintf warnings wchar
 
 # Specification in the form of a few gnulib-tool.m4 macro invocations:
 gl_LOCAL_DIR([])
@@ -72,6 +72,7 @@ gl_MODULES([
   putenv
   recv
   recvfrom
+  rename
   send
   sendto
   setsockopt
diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4
index 79f61fb..f532ac6 100644
--- a/m4/gnulib-comp.m4
+++ b/m4/gnulib-comp.m4
@@ -46,7 +46,9 @@ AC_DEFUN([gl_EARLY],
   # Code from module ceil:
   # Code from module close:
   # Code from module connect:
+  # Code from module dirname-lgpl:
   # Code from module dosname:
+  # Code from module double-slash-root:
   # Code from module duplocale:
   # Code from module environ:
   # Code from module errno:
@@ -130,8 +132,11 @@ AC_DEFUN([gl_EARLY],
   # Code from module readlink:
   # Code from module recv:
   # Code from module recvfrom:
+  # Code from module rename:
+  # Code from module rmdir:
   # Code from module safe-read:
   # Code from module safe-write:
+  # Code from module same-inode:
   # Code from module send:
   # Code from module sendto:
   # Code from module servent:
@@ -230,6 +235,8 @@ if test "$ac_cv_header_winsock2_h" = yes; then
   AC_LIBOBJ([connect])
 fi
 gl_SYS_SOCKET_MODULE_INDICATOR([connect])
+gl_DIRNAME_LGPL
+gl_DOUBLE_SLASH_ROOT
 gl_FUNC_DUPLOCALE
 if test $REPLACE_DUPLOCALE = 1; then
   AC_LIBOBJ([duplocale])
@@ -472,6 +479,16 @@ if test "$ac_cv_header_winsock2_h" = yes; then
   AC_LIBOBJ([recvfrom])
 fi
 gl_SYS_SOCKET_MODULE_INDICATOR([recvfrom])
+gl_FUNC_RENAME
+if test $REPLACE_RENAME = 1; then
+  AC_LIBOBJ([rename])
+fi
+gl_STDIO_MODULE_INDICATOR([rename])
+gl_FUNC_RMDIR
+if test $REPLACE_RMDIR = 1; then
+  AC_LIBOBJ([rmdir])
+fi
+gl_UNISTD_MODULE_INDICATOR([rmdir])
 gl_PREREQ_SAFE_READ
 gl_PREREQ_SAFE_WRITE
 AC_REQUIRE([gl_HEADER_SYS_SOCKET])
@@ -736,6 +753,7 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/alloca.in.h
   lib/arpa_inet.in.h
   lib/asnprintf.c
+  lib/basename-lgpl.c
   lib/binary-io.h
   lib/bind.c
   lib/byteswap.in.h
@@ -749,6 +767,8 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/ceil.c
   lib/close.c
   lib/connect.c
+  lib/dirname-lgpl.c
+  lib/dirname.h
   lib/dosname.h
   lib/duplocale.c
   lib/errno.in.h
@@ -825,10 +845,13 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/readlink.c
   lib/recv.c
   lib/recvfrom.c
+  lib/rename.c
+  lib/rmdir.c
   lib/safe-read.c
   lib/safe-read.h
   lib/safe-write.c
   lib/safe-write.h
+  lib/same-inode.h
   lib/send.c
   lib/sendto.c
   lib/setsockopt.c
@@ -851,6 +874,7 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/striconveh.c
   lib/striconveh.h
   lib/string.in.h
+  lib/stripslash.c
   lib/sys_file.in.h
   lib/sys_socket.in.h
   lib/sys_stat.in.h
@@ -888,6 +912,7 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/ceil.m4
   m4/check-math-lib.m4
   m4/close.m4
+  m4/dirname.m4
   m4/double-slash-root.m4
   m4/duplocale.m4
   m4/eealloc.m4
@@ -961,6 +986,8 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/putenv.m4
   m4/read.m4
   m4/readlink.m4
+  m4/rename.m4
+  m4/rmdir.m4
   m4/safe-read.m4
   m4/safe-write.m4
   m4/servent.m4
diff --git a/m4/rename.m4 b/m4/rename.m4
new file mode 100644
index 0000000..c938b0d
--- /dev/null
+++ b/m4/rename.m4
@@ -0,0 +1,184 @@
+# serial 24
+
+# Copyright (C) 2001, 2003, 2005-2006, 2009-2011 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+dnl From Volker Borchert.
+dnl Determine whether rename works for source file names with a trailing slash.
+dnl The rename from SunOS 4.1.1_U1 doesn't.
+dnl
+dnl If it doesn't, then define RENAME_TRAILING_SLASH_BUG and arrange
+dnl to compile the wrapper function.
+dnl
+
+AC_DEFUN([gl_FUNC_RENAME],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
+  AC_CHECK_FUNCS_ONCE([lstat])
+
+  dnl Solaris 10, AIX 7.1 mistakenly allow rename("file","name/").
+  dnl NetBSD 1.6 mistakenly forbids rename("dir","name/").
+  dnl FreeBSD 7.2 mistakenly allows rename("file","link-to-file/").
+  dnl The Solaris bug can be worked around without stripping
+  dnl trailing slash, while the NetBSD bug requires stripping;
+  dnl the two conditions can be distinguished by whether hard
+  dnl links are also broken.
+  AC_CACHE_CHECK([whether rename honors trailing slash on destination],
+    [gl_cv_func_rename_slash_dst_works],
+    [rm -rf conftest.f conftest.f1 conftest.f2 conftest.d1 conftest.d2 
conftest.lnk
+    touch conftest.f && touch conftest.f1 && mkdir conftest.d1 ||
+      AC_MSG_ERROR([cannot create temporary files])
+    # Assume that if we have lstat, we can also check symlinks.
+    if test $ac_cv_func_lstat = yes; then
+      ln -s conftest.f conftest.lnk
+    fi
+    AC_RUN_IFELSE(
+      [AC_LANG_PROGRAM([[
+#        include <stdio.h>
+#        include <stdlib.h>
+         ]],
+         [[int result = 0;
+           if (rename ("conftest.f1", "conftest.f2/") == 0)
+             result |= 1;
+           if (rename ("conftest.d1", "conftest.d2/") != 0)
+             result |= 2;
+#if HAVE_LSTAT
+           if (rename ("conftest.f", "conftest.lnk/") == 0)
+             result |= 4;
+#endif
+           return result;
+         ]])],
+      [gl_cv_func_rename_slash_dst_works=yes],
+      [gl_cv_func_rename_slash_dst_works=no],
+      dnl When crosscompiling, assume rename is broken.
+      [gl_cv_func_rename_slash_dst_works="guessing no"])
+    rm -rf conftest.f conftest.f1 conftest.f2 conftest.d1 conftest.d2 
conftest.lnk
+  ])
+  if test "x$gl_cv_func_rename_slash_dst_works" != xyes; then
+    REPLACE_RENAME=1
+    AC_DEFINE([RENAME_TRAILING_SLASH_DEST_BUG], [1],
+      [Define if rename does not correctly handle slashes on the destination
+       argument, such as on Solaris 10 or NetBSD 1.6.])
+  fi
+
+  dnl SunOS 4.1.1_U1 mistakenly forbids rename("dir/","name").
+  dnl Solaris 9 mistakenly allows rename("file/","name").
+  dnl FreeBSD 7.2 mistakenly allows rename("link-to-file/","name").
+  dnl These bugs require stripping trailing slash to avoid corrupting
+  dnl symlinks with a trailing slash.
+  AC_CACHE_CHECK([whether rename honors trailing slash on source],
+    [gl_cv_func_rename_slash_src_works],
+    [rm -rf conftest.f conftest.f1 conftest.d1 conftest.d2 conftest.d3 
conftest.lnk
+    touch conftest.f && touch conftest.f1 && mkdir conftest.d1 ||
+      AC_MSG_ERROR([cannot create temporary files])
+    # Assume that if we have lstat, we can also check symlinks.
+    if test $ac_cv_func_lstat = yes; then
+      ln -s conftest.f conftest.lnk
+    fi
+    AC_RUN_IFELSE(
+      [AC_LANG_PROGRAM([[
+#        include <stdio.h>
+#        include <stdlib.h>
+         ]],
+         [[int result = 0;
+           if (rename ("conftest.f1/", "conftest.d3") == 0)
+             result |= 1;
+           if (rename ("conftest.d1/", "conftest.d2") != 0)
+             result |= 2;
+#if HAVE_LSTAT
+           if (rename ("conftest.lnk/", "conftest.f") == 0)
+             result |= 4;
+#endif
+           return result;
+         ]])],
+      [gl_cv_func_rename_slash_src_works=yes],
+      [gl_cv_func_rename_slash_src_works=no],
+      dnl When crosscompiling, assume rename is broken.
+      [gl_cv_func_rename_slash_src_works="guessing no"])
+    rm -rf conftest.f conftest.f1 conftest.d1 conftest.d2 conftest.d3 
conftest.lnk
+  ])
+  if test "x$gl_cv_func_rename_slash_src_works" != xyes; then
+    REPLACE_RENAME=1
+    AC_DEFINE([RENAME_TRAILING_SLASH_SOURCE_BUG], [1],
+      [Define if rename does not correctly handle slashes on the source
+       argument, such as on Solaris 9 or cygwin 1.5.])
+  fi
+
+  dnl NetBSD 1.6 and cygwin 1.5.x mistakenly reduce hard link count
+  dnl on rename("h1","h2").
+  dnl This bug requires stat'ting targets prior to attempting rename.
+  AC_CACHE_CHECK([whether rename manages hard links correctly],
+    [gl_cv_func_rename_link_works],
+    [rm -rf conftest.f conftest.f1
+    if touch conftest.f && ln conftest.f conftest.f1 &&
+        set x `ls -i conftest.f conftest.f1` && test "$2" = "$4"; then
+      AC_RUN_IFELSE(
+        [AC_LANG_PROGRAM([[
+#          include <stdio.h>
+#          include <stdlib.h>
+#          include <unistd.h>
+           ]],
+           [[int result = 0;
+             if (rename ("conftest.f", "conftest.f1"))
+               result |= 1;
+             if (unlink ("conftest.f1"))
+               result |= 2;
+             if (rename ("conftest.f", "conftest.f"))
+               result |= 4;
+             if (rename ("conftest.f1", "conftest.f1") == 0)
+               result |= 8;
+             return result;
+           ]])],
+        [gl_cv_func_rename_link_works=yes],
+        [gl_cv_func_rename_link_works=no],
+        dnl When crosscompiling, assume rename is broken.
+        [gl_cv_func_rename_link_works="guessing no"])
+    else
+      gl_cv_func_rename_link_works="guessing no"
+    fi
+    rm -rf conftest.f conftest.f1
+  ])
+  if test "x$gl_cv_func_rename_link_works" != xyes; then
+    REPLACE_RENAME=1
+    AC_DEFINE([RENAME_HARD_LINK_BUG], [1],
+      [Define if rename fails to leave hard links alone, as on NetBSD 1.6
+       or Cygwin 1.5.])
+  fi
+
+  dnl Cygwin 1.5.x mistakenly allows rename("dir","file").
+  dnl mingw mistakenly forbids rename("dir1","dir2").
+  dnl These bugs require stripping trailing slash to avoid corrupting
+  dnl symlinks with a trailing slash.
+  AC_CACHE_CHECK([whether rename manages existing destinations correctly],
+    [gl_cv_func_rename_dest_works],
+    [rm -rf conftest.f conftest.d1 conftest.d2
+    touch conftest.f && mkdir conftest.d1 conftest.d2 ||
+      AC_MSG_ERROR([cannot create temporary files])
+    AC_RUN_IFELSE(
+      [AC_LANG_PROGRAM([[
+#        include <stdio.h>
+#        include <stdlib.h>
+         ]],
+         [[int result = 0;
+           if (rename ("conftest.d1", "conftest.d2") != 0)
+             result |= 1;
+           if (rename ("conftest.d2", "conftest.f") == 0)
+             result |= 2;
+           return result;
+         ]])],
+      [gl_cv_func_rename_dest_works=yes],
+      [gl_cv_func_rename_dest_works=no],
+      dnl When crosscompiling, assume rename is broken.
+      [gl_cv_func_rename_dest_works="guessing no"])
+    rm -rf conftest.f conftest.d1 conftest.d2
+  ])
+  if test "x$gl_cv_func_rename_dest_works" != xyes; then
+    REPLACE_RENAME=1
+    AC_DEFINE([RENAME_DEST_EXISTS_BUG], [1],
+      [Define if rename does not work when the destination file exists,
+       as on Cygwin 1.5 or Windows.])
+  fi
+])
diff --git a/m4/rmdir.m4 b/m4/rmdir.m4
new file mode 100644
index 0000000..5284c7e
--- /dev/null
+++ b/m4/rmdir.m4
@@ -0,0 +1,34 @@
+# rmdir.m4 serial 11
+dnl Copyright (C) 2002, 2005, 2009-2011 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_RMDIR],
+[
+  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+  dnl Detect cygwin 1.5.x bug.
+  AC_CACHE_CHECK([whether rmdir works], [gl_cv_func_rmdir_works],
+    [mkdir conftest.dir
+     touch conftest.file
+     AC_RUN_IFELSE(
+       [AC_LANG_PROGRAM(
+         [[#include <stdio.h>
+           #include <errno.h>
+           #include <unistd.h>
+]], [[int result = 0;
+      if (!rmdir ("conftest.file/"))
+        result |= 1;
+      else if (errno != ENOTDIR)
+        result |= 2;
+      if (!rmdir ("conftest.dir/./"))
+        result |= 4;
+      return result;
+    ]])],
+       [gl_cv_func_rmdir_works=yes], [gl_cv_func_rmdir_works=no],
+       [gl_cv_func_rmdir_works="guessing no"])
+     rm -rf conftest.dir conftest.file])
+  if test x"$gl_cv_func_rmdir_works" != xyes; then
+    REPLACE_RMDIR=1
+  fi
+])
diff --git a/module/ice-9/boot-9.scm b/module/ice-9/boot-9.scm
index 7c9e3c5..2d965d8 100644
--- a/module/ice-9/boot-9.scm
+++ b/module/ice-9/boot-9.scm
@@ -3411,7 +3411,7 @@ module '(ice-9 q) '(make-q q-length))}."
 
 (define %auto-compilation-options
   ;; Default `compile-file' option when auto-compiling.
-  '(#:warnings (unbound-variable arity-mismatch)))
+  '(#:warnings (unbound-variable arity-mismatch format)))
 
 (define* (load-in-vicinity dir path #:optional reader)
   ;; Returns the .go file corresponding to `name'. Does not search load
@@ -3470,8 +3470,14 @@ module '(ice-9 q) '(make-q q-length))}."
                  (else #f))))))
       (lambda (k . args)
         (format (current-error-port)
-                ";;; WARNING: compilation of ~a failed:\n;;; key ~a, 
throw_args ~s\n"
-                name k args)
+                ";;; WARNING: compilation of ~a failed:\n" name)
+        (for-each (lambda (s)
+                    (if (not (string-null? s))
+                        (format (current-error-port) ";;; ~a\n" s)))
+                  (string-split
+                   (call-with-output-string
+                    (lambda (port) (print-exception port #f k args)))
+                   #\newline))
         #f)))
 
   (define (absolute-path? path)
diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm
index 9270a69..ffd51d3 100644
--- a/module/ice-9/psyntax-pp.scm
+++ b/module/ice-9/psyntax-pp.scm
@@ -106,11496 +106,1364 @@
          #{src 837}#
          #{name 838}#
          #{args 839}#)))
-   (#{make-sequence 229}#
-     (lambda (#{src 843}# head tail)
+   (#{make-seq 229}#
+     (lambda (#{src 843}# #{head 844}# #{tail 845}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 13)
          #{src 843}#
-         head tail)))
+         #{head 844}#
+         #{tail 845}#)))
    (#{make-lambda 231}#
-     (lambda (#{src 847}# #{meta 848}# #{body 849}#)
+     (lambda (#{src 849}# #{meta 850}# #{body 851}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 14)
-         #{src 847}#
-         #{meta 848}#
-         #{body 849}#)))
+         #{src 849}#
+         #{meta 850}#
+         #{body 851}#)))
    (#{make-lambda-case 233}#
-     (lambda (#{src 853}#
-              #{req 854}#
-              #{opt 855}#
-              #{rest 856}#
-              #{kw 857}#
-              #{inits 858}#
-              #{gensyms 859}#
-              #{body 860}#
-              #{alternate 861}#)
+     (lambda (#{src 855}#
+              #{req 856}#
+              #{opt 857}#
+              #{rest 858}#
+              #{kw 859}#
+              #{inits 860}#
+              #{gensyms 861}#
+              #{body 862}#
+              #{alternate 863}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 15)
-         #{src 853}#
-         #{req 854}#
-         #{opt 855}#
-         #{rest 856}#
-         #{kw 857}#
-         #{inits 858}#
-         #{gensyms 859}#
-         #{body 860}#
-         #{alternate 861}#)))
+         #{src 855}#
+         #{req 856}#
+         #{opt 857}#
+         #{rest 858}#
+         #{kw 859}#
+         #{inits 860}#
+         #{gensyms 861}#
+         #{body 862}#
+         #{alternate 863}#)))
    (#{make-let 235}#
-     (lambda (#{src 871}#
-              #{names 872}#
-              #{gensyms 873}#
-              #{vals 874}#
-              #{body 875}#)
+     (lambda (#{src 873}#
+              #{names 874}#
+              #{gensyms 875}#
+              #{vals 876}#
+              #{body 877}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 16)
-         #{src 871}#
-         #{names 872}#
-         #{gensyms 873}#
-         #{vals 874}#
-         #{body 875}#)))
+         #{src 873}#
+         #{names 874}#
+         #{gensyms 875}#
+         #{vals 876}#
+         #{body 877}#)))
    (#{make-letrec 237}#
-     (lambda (#{src 881}#
-              #{in-order? 882}#
-              #{names 883}#
-              #{gensyms 884}#
-              #{vals 885}#
-              #{body 886}#)
+     (lambda (#{src 883}#
+              #{in-order? 884}#
+              #{names 885}#
+              #{gensyms 886}#
+              #{vals 887}#
+              #{body 888}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 17)
-         #{src 881}#
-         #{in-order? 882}#
-         #{names 883}#
-         #{gensyms 884}#
-         #{vals 885}#
-         #{body 886}#)))
+         #{src 883}#
+         #{in-order? 884}#
+         #{names 885}#
+         #{gensyms 886}#
+         #{vals 887}#
+         #{body 888}#)))
    (#{make-dynlet 239}#
-     (lambda (#{src 893}#
-              #{fluids 894}#
-              #{vals 895}#
-              #{body 896}#)
+     (lambda (#{src 895}#
+              #{fluids 896}#
+              #{vals 897}#
+              #{body 898}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 18)
-         #{src 893}#
-         #{fluids 894}#
-         #{vals 895}#
-         #{body 896}#)))
+         #{src 895}#
+         #{fluids 896}#
+         #{vals 897}#
+         #{body 898}#)))
    (#{lambda? 242}#
-     (lambda (#{x 901}#)
-       (if (struct? #{x 901}#)
-         (eq? (struct-vtable #{x 901}#)
+     (lambda (#{x 903}#)
+       (if (struct? #{x 903}#)
+         (eq? (struct-vtable #{x 903}#)
               (vector-ref %expanded-vtables 14))
          #f)))
    (#{lambda-meta 244}#
-     (lambda (#{x 905}#) (struct-ref #{x 905}# 1)))
+     (lambda (#{x 907}#) (struct-ref #{x 907}# 1)))
    (#{set-lambda-meta! 246}#
-     (lambda (#{x 907}# #{v 908}#)
-       (struct-set! #{x 907}# 1 #{v 908}#)))
+     (lambda (#{x 909}# #{v 910}#)
+       (struct-set! #{x 909}# 1 #{v 910}#)))
    (#{top-level-eval-hook 252}#
-     (lambda (#{x 911}# #{mod 912}#)
-       (primitive-eval #{x 911}#)))
+     (lambda (#{x 913}# #{mod 914}#)
+       (primitive-eval #{x 913}#)))
    (#{local-eval-hook 254}#
-     (lambda (#{x 915}# #{mod 916}#)
-       (primitive-eval #{x 915}#)))
+     (lambda (#{x 917}# #{mod 918}#)
+       (primitive-eval #{x 917}#)))
    (#{put-global-definition-hook 257}#
-     (lambda (#{symbol 919}# #{type 920}# #{val 921}#)
+     (lambda (#{symbol 921}# #{type 922}# #{val 923}#)
        (module-define!
          (current-module)
-         #{symbol 919}#
+         #{symbol 921}#
          (make-syntax-transformer
-           #{symbol 919}#
-           #{type 920}#
-           #{val 921}#))))
+           #{symbol 921}#
+           #{type 922}#
+           #{val 923}#))))
    (#{get-global-definition-hook 259}#
-     (lambda (#{symbol 925}# #{module 926}#)
+     (lambda (#{symbol 927}# #{module 928}#)
        (begin
-         (if (if (not #{module 926}#) (current-module) #f)
+         (if (if (not #{module 928}#) (current-module) #f)
            (warn "module system is booted, we should have a module"
-                 #{symbol 925}#))
-         (begin
-           (let ((#{v 932}# (module-variable
-                              (if #{module 926}#
-                                (resolve-module (cdr #{module 926}#))
-                                (current-module))
-                              #{symbol 925}#)))
-             (if #{v 932}#
-               (if (variable-bound? #{v 932}#)
-                 (begin
-                   (let ((#{val 937}# (variable-ref #{v 932}#)))
-                     (if (macro? #{val 937}#)
-                       (if (macro-type #{val 937}#)
-                         (cons (macro-type #{val 937}#)
-                               (macro-binding #{val 937}#))
-                         #f)
-                       #f)))
-                 #f)
-               #f))))))
+                 #{symbol 927}#))
+         (let ((#{v 934}# (module-variable
+                            (if #{module 928}#
+                              (resolve-module (cdr #{module 928}#))
+                              (current-module))
+                            #{symbol 927}#)))
+           (if #{v 934}#
+             (if (variable-bound? #{v 934}#)
+               (let ((#{val 939}# (variable-ref #{v 934}#)))
+                 (if (macro? #{val 939}#)
+                   (if (macro-type #{val 939}#)
+                     (cons (macro-type #{val 939}#)
+                           (macro-binding #{val 939}#))
+                     #f)
+                   #f))
+               #f)
+             #f)))))
    (#{decorate-source 261}#
-     (lambda (#{e 941}# #{s 942}#)
+     (lambda (#{e 943}# #{s 944}#)
        (begin
-         (if (if (pair? #{e 941}#) #{s 942}# #f)
-           (set-source-properties! #{e 941}# #{s 942}#))
-         #{e 941}#)))
+         (if (if (pair? #{e 943}#) #{s 944}# #f)
+           (set-source-properties! #{e 943}# #{s 944}#))
+         #{e 943}#)))
    (#{maybe-name-value! 263}#
-     (lambda (#{name 947}# #{val 948}#)
-       (if (#{lambda? 242}# #{val 948}#)
-         (begin
-           (let ((#{meta 952}# (#{lambda-meta 244}# #{val 948}#)))
-             (if (not (assq 'name #{meta 952}#))
-               (#{set-lambda-meta! 246}#
-                 #{val 948}#
-                 (cons (cons 'name #{name 947}#) #{meta 952}#))))))))
+     (lambda (#{name 949}# #{val 950}#)
+       (if (#{lambda? 242}# #{val 950}#)
+         (let ((#{meta 954}# (#{lambda-meta 244}# #{val 950}#)))
+           (if (not (assq 'name #{meta 954}#))
+             (#{set-lambda-meta! 246}#
+               #{val 950}#
+               (cons (cons 'name #{name 949}#) #{meta 954}#)))))))
    (#{build-void 265}#
-     (lambda (#{source 953}#)
-       (#{make-void 203}# #{source 953}#)))
+     (lambda (#{source 955}#)
+       (#{make-void 203}# #{source 955}#)))
    (#{build-call 267}#
-     (lambda (#{source 955}# #{fun-exp 956}# #{arg-exps 957}#)
+     (lambda (#{source 957}# #{fun-exp 958}# #{arg-exps 959}#)
        (#{make-call 225}#
-         #{source 955}#
-         #{fun-exp 956}#
-         #{arg-exps 957}#)))
+         #{source 957}#
+         #{fun-exp 958}#
+         #{arg-exps 959}#)))
    (#{build-conditional 269}#
-     (lambda (#{source 961}#
-              #{test-exp 962}#
-              #{then-exp 963}#
-              #{else-exp 964}#)
+     (lambda (#{source 963}#
+              #{test-exp 964}#
+              #{then-exp 965}#
+              #{else-exp 966}#)
        (#{make-conditional 223}#
-         #{source 961}#
-         #{test-exp 962}#
-         #{then-exp 963}#
-         #{else-exp 964}#)))
+         #{source 963}#
+         #{test-exp 964}#
+         #{then-exp 965}#
+         #{else-exp 966}#)))
    (#{build-dynlet 271}#
-     (lambda (#{source 969}#
-              #{fluids 970}#
-              #{vals 971}#
-              #{body 972}#)
+     (lambda (#{source 971}#
+              #{fluids 972}#
+              #{vals 973}#
+              #{body 974}#)
        (#{make-dynlet 239}#
-         #{source 969}#
-         #{fluids 970}#
-         #{vals 971}#
-         #{body 972}#)))
+         #{source 971}#
+         #{fluids 972}#
+         #{vals 973}#
+         #{body 974}#)))
    (#{build-lexical-reference 273}#
-     (lambda (#{type 977}#
-              #{source 978}#
-              #{name 979}#
-              #{var 980}#)
+     (lambda (#{type 979}#
+              #{source 980}#
+              #{name 981}#
+              #{var 982}#)
        (#{make-lexical-ref 209}#
-         #{source 978}#
-         #{name 979}#
-         #{var 980}#)))
+         #{source 980}#
+         #{name 981}#
+         #{var 982}#)))
    (#{build-lexical-assignment 275}#
-     (lambda (#{source 985}#
-              #{name 986}#
-              #{var 987}#
-              #{exp 988}#)
+     (lambda (#{source 987}#
+              #{name 988}#
+              #{var 989}#
+              #{exp 990}#)
        (begin
          (#{maybe-name-value! 263}#
-           #{name 986}#
-           #{exp 988}#)
+           #{name 988}#
+           #{exp 990}#)
          (#{make-lexical-set 211}#
-           #{source 985}#
-           #{name 986}#
-           #{var 987}#
-           #{exp 988}#))))
+           #{source 987}#
+           #{name 988}#
+           #{var 989}#
+           #{exp 990}#))))
    (#{analyze-variable 277}#
-     (lambda (#{mod 993}#
-              #{var 994}#
-              #{modref-cont 995}#
-              #{bare-cont 996}#)
-       (if (not #{mod 993}#)
-         (#{bare-cont 996}# #{var 994}#)
-         (begin
-           (let ((#{kind 1003}# (car #{mod 993}#))
-                 (#{mod 1004}# (cdr #{mod 993}#)))
-             (if (memv #{kind 1003}# '(public))
-               (#{modref-cont 995}# #{mod 1004}# #{var 994}# #t)
-               (if (memv #{kind 1003}# '(private))
-                 (if (not (equal?
-                            #{mod 1004}#
-                            (module-name (current-module))))
-                   (#{modref-cont 995}# #{mod 1004}# #{var 994}# #f)
-                   (#{bare-cont 996}# #{var 994}#))
-                 (if (memv #{kind 1003}# '(bare))
-                   (#{bare-cont 996}# #{var 994}#)
-                   (if (memv #{kind 1003}# '(hygiene))
-                     (if (if (not (equal?
-                                    #{mod 1004}#
-                                    (module-name (current-module))))
-                           (module-variable
-                             (resolve-module #{mod 1004}#)
-                             #{var 994}#)
-                           #f)
-                       (#{modref-cont 995}# #{mod 1004}# #{var 994}# #f)
-                       (#{bare-cont 996}# #{var 994}#))
-                     (syntax-violation
-                       #f
-                       "bad module kind"
-                       #{var 994}#
-                       #{mod 1004}#))))))))))
+     (lambda (#{mod 995}#
+              #{var 996}#
+              #{modref-cont 997}#
+              #{bare-cont 998}#)
+       (if (not #{mod 995}#)
+         (#{bare-cont 998}# #{var 996}#)
+         (let ((#{kind 1005}# (car #{mod 995}#))
+               (#{mod 1006}# (cdr #{mod 995}#)))
+           (if (memv #{kind 1005}# '(public))
+             (#{modref-cont 997}# #{mod 1006}# #{var 996}# #t)
+             (if (memv #{kind 1005}# '(private))
+               (if (not (equal?
+                          #{mod 1006}#
+                          (module-name (current-module))))
+                 (#{modref-cont 997}# #{mod 1006}# #{var 996}# #f)
+                 (#{bare-cont 998}# #{var 996}#))
+               (if (memv #{kind 1005}# '(bare))
+                 (#{bare-cont 998}# #{var 996}#)
+                 (if (memv #{kind 1005}# '(hygiene))
+                   (if (if (not (equal?
+                                  #{mod 1006}#
+                                  (module-name (current-module))))
+                         (module-variable
+                           (resolve-module #{mod 1006}#)
+                           #{var 996}#)
+                         #f)
+                     (#{modref-cont 997}# #{mod 1006}# #{var 996}# #f)
+                     (#{bare-cont 998}# #{var 996}#))
+                   (syntax-violation
+                     #f
+                     "bad module kind"
+                     #{var 996}#
+                     #{mod 1006}#)))))))))
    (#{build-global-reference 279}#
-     (lambda (#{source 1012}# #{var 1013}# #{mod 1014}#)
+     (lambda (#{source 1014}# #{var 1015}# #{mod 1016}#)
        (#{analyze-variable 277}#
-         #{mod 1014}#
-         #{var 1013}#
-         (lambda (#{mod 1018}# #{var 1019}# #{public? 1020}#)
+         #{mod 1016}#
+         #{var 1015}#
+         (lambda (#{mod 1020}# #{var 1021}# #{public? 1022}#)
            (#{make-module-ref 213}#
-             #{source 1012}#
-             #{mod 1018}#
-             #{var 1019}#
-             #{public? 1020}#))
-         (lambda (#{var 1024}#)
+             #{source 1014}#
+             #{mod 1020}#
+             #{var 1021}#
+             #{public? 1022}#))
+         (lambda (#{var 1026}#)
            (#{make-toplevel-ref 217}#
-             #{source 1012}#
-             #{var 1024}#)))))
+             #{source 1014}#
+             #{var 1026}#)))))
    (#{build-global-assignment 281}#
-     (lambda (#{source 1026}#
-              #{var 1027}#
-              #{exp 1028}#
-              #{mod 1029}#)
+     (lambda (#{source 1028}#
+              #{var 1029}#
+              #{exp 1030}#
+              #{mod 1031}#)
        (begin
          (#{maybe-name-value! 263}#
-           #{var 1027}#
-           #{exp 1028}#)
+           #{var 1029}#
+           #{exp 1030}#)
          (#{analyze-variable 277}#
-           #{mod 1029}#
-           #{var 1027}#
-           (lambda (#{mod 1034}# #{var 1035}# #{public? 1036}#)
+           #{mod 1031}#
+           #{var 1029}#
+           (lambda (#{mod 1036}# #{var 1037}# #{public? 1038}#)
              (#{make-module-set 215}#
-               #{source 1026}#
-               #{mod 1034}#
-               #{var 1035}#
-               #{public? 1036}#
-               #{exp 1028}#))
-           (lambda (#{var 1040}#)
+               #{source 1028}#
+               #{mod 1036}#
+               #{var 1037}#
+               #{public? 1038}#
+               #{exp 1030}#))
+           (lambda (#{var 1042}#)
              (#{make-toplevel-set 219}#
-               #{source 1026}#
-               #{var 1040}#
-               #{exp 1028}#))))))
+               #{source 1028}#
+               #{var 1042}#
+               #{exp 1030}#))))))
    (#{build-global-definition 283}#
-     (lambda (#{source 1042}# #{var 1043}# #{exp 1044}#)
+     (lambda (#{source 1044}# #{var 1045}# #{exp 1046}#)
        (begin
          (#{maybe-name-value! 263}#
-           #{var 1043}#
-           #{exp 1044}#)
+           #{var 1045}#
+           #{exp 1046}#)
          (#{make-toplevel-define 221}#
-           #{source 1042}#
-           #{var 1043}#
-           #{exp 1044}#))))
+           #{source 1044}#
+           #{var 1045}#
+           #{exp 1046}#))))
    (#{build-simple-lambda 285}#
-     (lambda (#{src 1048}#
-              #{req 1049}#
-              #{rest 1050}#
-              #{vars 1051}#
-              #{meta 1052}#
-              #{exp 1053}#)
+     (lambda (#{src 1050}#
+              #{req 1051}#
+              #{rest 1052}#
+              #{vars 1053}#
+              #{meta 1054}#
+              #{exp 1055}#)
        (#{make-lambda 231}#
-         #{src 1048}#
-         #{meta 1052}#
+         #{src 1050}#
+         #{meta 1054}#
          (#{make-lambda-case 233}#
-           #{src 1048}#
-           #{req 1049}#
+           #{src 1050}#
+           #{req 1051}#
            #f
-           #{rest 1050}#
+           #{rest 1052}#
            #f
            '()
-           #{vars 1051}#
-           #{exp 1053}#
+           #{vars 1053}#
+           #{exp 1055}#
            #f))))
    (#{build-case-lambda 287}#
-     (lambda (#{src 1060}# #{meta 1061}# #{body 1062}#)
+     (lambda (#{src 1062}# #{meta 1063}# #{body 1064}#)
        (#{make-lambda 231}#
-         #{src 1060}#
-         #{meta 1061}#
-         #{body 1062}#)))
+         #{src 1062}#
+         #{meta 1063}#
+         #{body 1064}#)))
    (#{build-lambda-case 289}#
-     (lambda (#{src 1066}#
-              #{req 1067}#
-              #{opt 1068}#
-              #{rest 1069}#
-              #{kw 1070}#
-              #{inits 1071}#
-              #{vars 1072}#
-              #{body 1073}#
-              #{else-case 1074}#)
+     (lambda (#{src 1068}#
+              #{req 1069}#
+              #{opt 1070}#
+              #{rest 1071}#
+              #{kw 1072}#
+              #{inits 1073}#
+              #{vars 1074}#
+              #{body 1075}#
+              #{else-case 1076}#)
        (#{make-lambda-case 233}#
-         #{src 1066}#
-         #{req 1067}#
-         #{opt 1068}#
-         #{rest 1069}#
-         #{kw 1070}#
-         #{inits 1071}#
-         #{vars 1072}#
-         #{body 1073}#
-         #{else-case 1074}#)))
+         #{src 1068}#
+         #{req 1069}#
+         #{opt 1070}#
+         #{rest 1071}#
+         #{kw 1072}#
+         #{inits 1073}#
+         #{vars 1074}#
+         #{body 1075}#
+         #{else-case 1076}#)))
    (#{build-primcall 291}#
-     (lambda (#{src 1084}# #{name 1085}# #{args 1086}#)
+     (lambda (#{src 1086}# #{name 1087}# #{args 1088}#)
        (#{make-primcall 227}#
-         #{src 1084}#
-         #{name 1085}#
-         #{args 1086}#)))
+         #{src 1086}#
+         #{name 1087}#
+         #{args 1088}#)))
    (#{build-primref 293}#
-     (lambda (#{src 1090}# #{name 1091}#)
+     (lambda (#{src 1092}# #{name 1093}#)
        (#{make-primitive-ref 207}#
-         #{src 1090}#
-         #{name 1091}#)))
+         #{src 1092}#
+         #{name 1093}#)))
    (#{build-data 295}#
-     (lambda (#{src 1094}# #{exp 1095}#)
-       (#{make-const 205}# #{src 1094}# #{exp 1095}#)))
+     (lambda (#{src 1096}# #{exp 1097}#)
+       (#{make-const 205}# #{src 1096}# #{exp 1097}#)))
    (#{build-sequence 297}#
-     (lambda (#{src 1098}# #{exps 1099}#)
-       (if (null? (cdr #{exps 1099}#))
-         (car #{exps 1099}#)
-         (#{make-sequence 229}#
-          #f (car #{exps 1099}#)
-          (#{build-sequence 297}# #f (cdr #{exps 1099}#))))))
+     (lambda (#{src 1100}# #{exps 1101}#)
+       (if (null? (cdr #{exps 1101}#))
+         (car #{exps 1101}#)
+         (#{make-seq 229}#
+           #{src 1100}#
+           (car #{exps 1101}#)
+           (#{build-sequence 297}# #f (cdr #{exps 1101}#))))))
    (#{build-let 299}#
-     (lambda (#{src 1102}#
-              #{ids 1103}#
-              #{vars 1104}#
-              #{val-exps 1105}#
-              #{body-exp 1106}#)
+     (lambda (#{src 1104}#
+              #{ids 1105}#
+              #{vars 1106}#
+              #{val-exps 1107}#
+              #{body-exp 1108}#)
        (begin
          (for-each
            #{maybe-name-value! 263}#
-           #{ids 1103}#
-           #{val-exps 1105}#)
-         (if (null? #{vars 1104}#)
-           #{body-exp 1106}#
+           #{ids 1105}#
+           #{val-exps 1107}#)
+         (if (null? #{vars 1106}#)
+           #{body-exp 1108}#
            (#{make-let 235}#
-             #{src 1102}#
-             #{ids 1103}#
-             #{vars 1104}#
-             #{val-exps 1105}#
-             #{body-exp 1106}#)))))
+             #{src 1104}#
+             #{ids 1105}#
+             #{vars 1106}#
+             #{val-exps 1107}#
+             #{body-exp 1108}#)))))
    (#{build-named-let 301}#
-     (lambda (#{src 1112}#
-              #{ids 1113}#
-              #{vars 1114}#
-              #{val-exps 1115}#
-              #{body-exp 1116}#)
-       (begin
-         (let ((#{f 1126}# (car #{vars 1114}#))
-               (#{f-name 1127}# (car #{ids 1113}#))
-               (#{vars 1128}# (cdr #{vars 1114}#))
-               (#{ids 1129}# (cdr #{ids 1113}#)))
-           (begin
-             (let ((#{proc 1131}#
-                     (#{build-simple-lambda 285}#
-                       #{src 1112}#
-                       #{ids 1129}#
-                       #f
-                       #{vars 1128}#
-                       '()
-                       #{body-exp 1116}#)))
-               (begin
-                 (#{maybe-name-value! 263}#
-                   #{f-name 1127}#
-                   #{proc 1131}#)
-                 (for-each
-                   #{maybe-name-value! 263}#
-                   #{ids 1129}#
-                   #{val-exps 1115}#)
-                 (#{make-letrec 237}#
-                   #{src 1112}#
+     (lambda (#{src 1114}#
+              #{ids 1115}#
+              #{vars 1116}#
+              #{val-exps 1117}#
+              #{body-exp 1118}#)
+       (let ((#{f 1128}# (car #{vars 1116}#))
+             (#{f-name 1129}# (car #{ids 1115}#))
+             (#{vars 1130}# (cdr #{vars 1116}#))
+             (#{ids 1131}# (cdr #{ids 1115}#)))
+         (let ((#{proc 1133}#
+                 (#{build-simple-lambda 285}#
+                   #{src 1114}#
+                   #{ids 1131}#
                    #f
-                   (list #{f-name 1127}#)
-                   (list #{f 1126}#)
-                   (list #{proc 1131}#)
-                   (#{build-call 267}#
-                     #{src 1112}#
-                     (#{build-lexical-reference 273}#
-                       'fun
-                       #{src 1112}#
-                       #{f-name 1127}#
-                       #{f 1126}#)
-                     #{val-exps 1115}#)))))))))
+                   #{vars 1130}#
+                   '()
+                   #{body-exp 1118}#)))
+           (begin
+             (#{maybe-name-value! 263}#
+               #{f-name 1129}#
+               #{proc 1133}#)
+             (for-each
+               #{maybe-name-value! 263}#
+               #{ids 1131}#
+               #{val-exps 1117}#)
+             (#{make-letrec 237}#
+               #{src 1114}#
+               #f
+               (list #{f-name 1129}#)
+               (list #{f 1128}#)
+               (list #{proc 1133}#)
+               (#{build-call 267}#
+                 #{src 1114}#
+                 (#{build-lexical-reference 273}#
+                   'fun
+                   #{src 1114}#
+                   #{f-name 1129}#
+                   #{f 1128}#)
+                 #{val-exps 1117}#)))))))
    (#{build-letrec 303}#
-     (lambda (#{src 1132}#
-              #{in-order? 1133}#
-              #{ids 1134}#
-              #{vars 1135}#
-              #{val-exps 1136}#
-              #{body-exp 1137}#)
-       (if (null? #{vars 1135}#)
-         #{body-exp 1137}#
+     (lambda (#{src 1134}#
+              #{in-order? 1135}#
+              #{ids 1136}#
+              #{vars 1137}#
+              #{val-exps 1138}#
+              #{body-exp 1139}#)
+       (if (null? #{vars 1137}#)
+         #{body-exp 1139}#
          (begin
            (for-each
              #{maybe-name-value! 263}#
-             #{ids 1134}#
-             #{val-exps 1136}#)
+             #{ids 1136}#
+             #{val-exps 1138}#)
            (#{make-letrec 237}#
-             #{src 1132}#
-             #{in-order? 1133}#
-             #{ids 1134}#
-             #{vars 1135}#
-             #{val-exps 1136}#
-             #{body-exp 1137}#)))))
+             #{src 1134}#
+             #{in-order? 1135}#
+             #{ids 1136}#
+             #{vars 1137}#
+             #{val-exps 1138}#
+             #{body-exp 1139}#)))))
    (#{make-syntax-object 307}#
-     (lambda (#{expression 1144}#
-              #{wrap 1145}#
-              #{module 1146}#)
+     (lambda (#{expression 1146}#
+              #{wrap 1147}#
+              #{module 1148}#)
        (vector
          'syntax-object
-         #{expression 1144}#
-         #{wrap 1145}#
-         #{module 1146}#)))
+         #{expression 1146}#
+         #{wrap 1147}#
+         #{module 1148}#)))
    (#{syntax-object? 309}#
-     (lambda (#{x 1150}#)
-       (if (vector? #{x 1150}#)
-         (if (= (vector-length #{x 1150}#) 4)
-           (eq? (vector-ref #{x 1150}# 0) 'syntax-object)
+     (lambda (#{x 1152}#)
+       (if (vector? #{x 1152}#)
+         (if (= (vector-length #{x 1152}#) 4)
+           (eq? (vector-ref #{x 1152}# 0) 'syntax-object)
            #f)
          #f)))
    (#{syntax-object-expression 311}#
-     (lambda (#{x 1155}#) (vector-ref #{x 1155}# 1)))
+     (lambda (#{x 1157}#) (vector-ref #{x 1157}# 1)))
    (#{syntax-object-wrap 313}#
-     (lambda (#{x 1157}#) (vector-ref #{x 1157}# 2)))
+     (lambda (#{x 1159}#) (vector-ref #{x 1159}# 2)))
    (#{syntax-object-module 315}#
-     (lambda (#{x 1159}#) (vector-ref #{x 1159}# 3)))
+     (lambda (#{x 1161}#) (vector-ref #{x 1161}# 3)))
    (#{source-annotation 324}#
-     (lambda (#{x 1173}#)
-       (if (#{syntax-object? 309}# #{x 1173}#)
+     (lambda (#{x 1175}#)
+       (if (#{syntax-object? 309}# #{x 1175}#)
          (#{source-annotation 324}#
-           (#{syntax-object-expression 311}# #{x 1173}#))
-         (if (pair? #{x 1173}#)
-           (begin
-             (let ((#{props 1180}# (source-properties #{x 1173}#)))
-               (if (pair? #{props 1180}#) #{props 1180}# #f)))
+           (#{syntax-object-expression 311}# #{x 1175}#))
+         (if (pair? #{x 1175}#)
+           (let ((#{props 1182}# (source-properties #{x 1175}#)))
+             (if (pair? #{props 1182}#) #{props 1182}# #f))
            #f))))
    (#{extend-env 331}#
-     (lambda (#{labels 1182}# #{bindings 1183}# #{r 1184}#)
-       (if (null? #{labels 1182}#)
-         #{r 1184}#
+     (lambda (#{labels 1184}# #{bindings 1185}# #{r 1186}#)
+       (if (null? #{labels 1184}#)
+         #{r 1186}#
          (#{extend-env 331}#
-           (cdr #{labels 1182}#)
-           (cdr #{bindings 1183}#)
-           (cons (cons (car #{labels 1182}#)
-                       (car #{bindings 1183}#))
-                 #{r 1184}#)))))
+           (cdr #{labels 1184}#)
+           (cdr #{bindings 1185}#)
+           (cons (cons (car #{labels 1184}#)
+                       (car #{bindings 1185}#))
+                 #{r 1186}#)))))
    (#{extend-var-env 333}#
-     (lambda (#{labels 1188}# #{vars 1189}# #{r 1190}#)
-       (if (null? #{labels 1188}#)
-         #{r 1190}#
+     (lambda (#{labels 1190}# #{vars 1191}# #{r 1192}#)
+       (if (null? #{labels 1190}#)
+         #{r 1192}#
          (#{extend-var-env 333}#
-           (cdr #{labels 1188}#)
-           (cdr #{vars 1189}#)
-           (cons (cons (car #{labels 1188}#)
-                       (cons 'lexical (car #{vars 1189}#)))
-                 #{r 1190}#)))))
+           (cdr #{labels 1190}#)
+           (cdr #{vars 1191}#)
+           (cons (cons (car #{labels 1190}#)
+                       (cons 'lexical (car #{vars 1191}#)))
+                 #{r 1192}#)))))
    (#{macros-only-env 335}#
-     (lambda (#{r 1195}#)
-       (if (null? #{r 1195}#)
+     (lambda (#{r 1197}#)
+       (if (null? #{r 1197}#)
          '()
-         (begin
-           (let ((#{a 1198}# (car #{r 1195}#)))
-             (if (eq? (car (cdr #{a 1198}#)) 'macro)
-               (cons #{a 1198}#
-                     (#{macros-only-env 335}# (cdr #{r 1195}#)))
-               (#{macros-only-env 335}# (cdr #{r 1195}#))))))))
+         (let ((#{a 1200}# (car #{r 1197}#)))
+           (if (eq? (car (cdr #{a 1200}#)) 'macro)
+             (cons #{a 1200}#
+                   (#{macros-only-env 335}# (cdr #{r 1197}#)))
+             (#{macros-only-env 335}# (cdr #{r 1197}#)))))))
    (#{lookup 337}#
-     (lambda (#{x 1199}# #{r 1200}# #{mod 1201}#)
-       (begin
-         (let ((#{t 1207}# (assq #{x 1199}# #{r 1200}#)))
-           (if #{t 1207}#
-             (cdr #{t 1207}#)
-             (if (symbol? #{x 1199}#)
-               (begin
-                 (let ((#{t 1213}#
-                         (#{get-global-definition-hook 259}#
-                           #{x 1199}#
-                           #{mod 1201}#)))
-                   (if #{t 1213}# #{t 1213}# '(global))))
-               '(displaced-lexical)))))))
+     (lambda (#{x 1201}# #{r 1202}# #{mod 1203}#)
+       (let ((#{t 1209}# (assq #{x 1201}# #{r 1202}#)))
+         (if #{t 1209}#
+           (cdr #{t 1209}#)
+           (if (symbol? #{x 1201}#)
+             (let ((#{t 1215}#
+                     (#{get-global-definition-hook 259}#
+                       #{x 1201}#
+                       #{mod 1203}#)))
+               (if #{t 1215}# #{t 1215}# '(global)))
+             '(displaced-lexical))))))
    (#{global-extend 339}#
-     (lambda (#{type 1218}# #{sym 1219}# #{val 1220}#)
+     (lambda (#{type 1220}# #{sym 1221}# #{val 1222}#)
        (#{put-global-definition-hook 257}#
-         #{sym 1219}#
-         #{type 1218}#
-         #{val 1220}#)))
+         #{sym 1221}#
+         #{type 1220}#
+         #{val 1222}#)))
    (#{nonsymbol-id? 341}#
-     (lambda (#{x 1224}#)
-       (if (#{syntax-object? 309}# #{x 1224}#)
+     (lambda (#{x 1226}#)
+       (if (#{syntax-object? 309}# #{x 1226}#)
          (symbol?
-           (#{syntax-object-expression 311}# #{x 1224}#))
+           (#{syntax-object-expression 311}# #{x 1226}#))
          #f)))
    (#{id? 343}#
-     (lambda (#{x 1228}#)
-       (if (symbol? #{x 1228}#)
+     (lambda (#{x 1230}#)
+       (if (symbol? #{x 1230}#)
          #t
-         (if (#{syntax-object? 309}# #{x 1228}#)
+         (if (#{syntax-object? 309}# #{x 1230}#)
            (symbol?
-             (#{syntax-object-expression 311}# #{x 1228}#))
+             (#{syntax-object-expression 311}# #{x 1230}#))
            #f))))
    (#{id-sym-name&marks 346}#
-     (lambda (#{x 1235}# #{w 1236}#)
-       (if (#{syntax-object? 309}# #{x 1235}#)
+     (lambda (#{x 1237}# #{w 1238}#)
+       (if (#{syntax-object? 309}# #{x 1237}#)
          (values
-           (#{syntax-object-expression 311}# #{x 1235}#)
+           (#{syntax-object-expression 311}# #{x 1237}#)
            (#{join-marks 393}#
-             (car #{w 1236}#)
-             (car (#{syntax-object-wrap 313}# #{x 1235}#))))
-         (values #{x 1235}# (car #{w 1236}#)))))
+             (car #{w 1238}#)
+             (car (#{syntax-object-wrap 313}# #{x 1237}#))))
+         (values #{x 1237}# (car #{w 1238}#)))))
    (#{gen-label 356}#
      (lambda () (symbol->string (gensym "i"))))
    (#{gen-labels 358}#
-     (lambda (#{ls 1242}#)
-       (if (null? #{ls 1242}#)
+     (lambda (#{ls 1244}#)
+       (if (null? #{ls 1244}#)
          '()
          (cons (#{gen-label 356}#)
-               (#{gen-labels 358}# (cdr #{ls 1242}#))))))
+               (#{gen-labels 358}# (cdr #{ls 1244}#))))))
    (#{make-ribcage 361}#
-     (lambda (#{symnames 1244}#
-              #{marks 1245}#
-              #{labels 1246}#)
+     (lambda (#{symnames 1246}#
+              #{marks 1247}#
+              #{labels 1248}#)
        (vector
          'ribcage
-         #{symnames 1244}#
-         #{marks 1245}#
-         #{labels 1246}#)))
+         #{symnames 1246}#
+         #{marks 1247}#
+         #{labels 1248}#)))
    (#{ribcage-symnames 365}#
-     (lambda (#{x 1255}#) (vector-ref #{x 1255}# 1)))
+     (lambda (#{x 1257}#) (vector-ref #{x 1257}# 1)))
    (#{ribcage-marks 367}#
-     (lambda (#{x 1257}#) (vector-ref #{x 1257}# 2)))
+     (lambda (#{x 1259}#) (vector-ref #{x 1259}# 2)))
    (#{ribcage-labels 369}#
-     (lambda (#{x 1259}#) (vector-ref #{x 1259}# 3)))
+     (lambda (#{x 1261}#) (vector-ref #{x 1261}# 3)))
    (#{set-ribcage-symnames! 371}#
-     (lambda (#{x 1261}# #{update 1262}#)
-       (vector-set! #{x 1261}# 1 #{update 1262}#)))
+     (lambda (#{x 1263}# #{update 1264}#)
+       (vector-set! #{x 1263}# 1 #{update 1264}#)))
    (#{set-ribcage-marks! 373}#
-     (lambda (#{x 1265}# #{update 1266}#)
-       (vector-set! #{x 1265}# 2 #{update 1266}#)))
+     (lambda (#{x 1267}# #{update 1268}#)
+       (vector-set! #{x 1267}# 2 #{update 1268}#)))
    (#{set-ribcage-labels! 375}#
-     (lambda (#{x 1269}# #{update 1270}#)
-       (vector-set! #{x 1269}# 3 #{update 1270}#)))
+     (lambda (#{x 1271}# #{update 1272}#)
+       (vector-set! #{x 1271}# 3 #{update 1272}#)))
    (#{anti-mark 381}#
-     (lambda (#{w 1273}#)
-       (cons (cons #f (car #{w 1273}#))
-             (cons 'shift (cdr #{w 1273}#)))))
+     (lambda (#{w 1275}#)
+       (cons (cons #f (car #{w 1275}#))
+             (cons 'shift (cdr #{w 1275}#)))))
    (#{extend-ribcage! 385}#
-     (lambda (#{ribcage 1279}# #{id 1280}# #{label 1281}#)
+     (lambda (#{ribcage 1281}# #{id 1282}# #{label 1283}#)
        (begin
          (#{set-ribcage-symnames! 371}#
-           #{ribcage 1279}#
-           (cons (#{syntax-object-expression 311}# #{id 1280}#)
-                 (#{ribcage-symnames 365}# #{ribcage 1279}#)))
+           #{ribcage 1281}#
+           (cons (#{syntax-object-expression 311}# #{id 1282}#)
+                 (#{ribcage-symnames 365}# #{ribcage 1281}#)))
          (#{set-ribcage-marks! 373}#
-           #{ribcage 1279}#
-           (cons (car (#{syntax-object-wrap 313}# #{id 1280}#))
-                 (#{ribcage-marks 367}# #{ribcage 1279}#)))
+           #{ribcage 1281}#
+           (cons (car (#{syntax-object-wrap 313}# #{id 1282}#))
+                 (#{ribcage-marks 367}# #{ribcage 1281}#)))
          (#{set-ribcage-labels! 375}#
-           #{ribcage 1279}#
-           (cons #{label 1281}#
-                 (#{ribcage-labels 369}# #{ribcage 1279}#))))))
+           #{ribcage 1281}#
+           (cons #{label 1283}#
+                 (#{ribcage-labels 369}# #{ribcage 1281}#))))))
    (#{make-binding-wrap 387}#
-     (lambda (#{ids 1286}# #{labels 1287}# #{w 1288}#)
-       (if (null? #{ids 1286}#)
-         #{w 1288}#
-         (cons (car #{w 1288}#)
-               (cons (begin
-                       (let ((#{labelvec 1295}#
-                               (list->vector #{labels 1287}#)))
-                         (begin
-                           (let ((#{n 1297}#
-                                   (vector-length #{labelvec 1295}#)))
-                             (begin
-                               (let ((#{symnamevec 1300}#
-                                       (make-vector #{n 1297}#))
-                                     (#{marksvec 1301}#
-                                       (make-vector #{n 1297}#)))
-                                 (begin
-                                   (letrec*
-                                     ((#{f 1305}#
-                                        (lambda (#{ids 1306}# #{i 1307}#)
-                                          (if (not (null? #{ids 1306}#))
-                                            (call-with-values
-                                              (lambda ()
-                                                (#{id-sym-name&marks 346}#
-                                                  (car #{ids 1306}#)
-                                                  #{w 1288}#))
-                                              (lambda (#{symname 1308}#
-                                                       #{marks 1309}#)
-                                                (begin
-                                                  (vector-set!
-                                                    #{symnamevec 1300}#
-                                                    #{i 1307}#
-                                                    #{symname 1308}#)
-                                                  (vector-set!
-                                                    #{marksvec 1301}#
-                                                    #{i 1307}#
-                                                    #{marks 1309}#)
-                                                  (#{f 1305}#
-                                                    (cdr #{ids 1306}#)
-                                                    (#{1+}# #{i 1307}#)))))))))
-                                     (begin (#{f 1305}# #{ids 1286}# 0)))
-                                   (#{make-ribcage 361}#
-                                     #{symnamevec 1300}#
-                                     #{marksvec 1301}#
-                                     #{labelvec 1295}#))))))))
-                     (cdr #{w 1288}#))))))
+     (lambda (#{ids 1288}# #{labels 1289}# #{w 1290}#)
+       (if (null? #{ids 1288}#)
+         #{w 1290}#
+         (cons (car #{w 1290}#)
+               (cons (let ((#{labelvec 1297}#
+                             (list->vector #{labels 1289}#)))
+                       (let ((#{n 1299}# (vector-length #{labelvec 1297}#)))
+                         (let ((#{symnamevec 1302}# (make-vector #{n 1299}#))
+                               (#{marksvec 1303}# (make-vector #{n 1299}#)))
+                           (begin
+                             (letrec*
+                               ((#{f 1307}#
+                                  (lambda (#{ids 1308}# #{i 1309}#)
+                                    (if (not (null? #{ids 1308}#))
+                                      (call-with-values
+                                        (lambda ()
+                                          (#{id-sym-name&marks 346}#
+                                            (car #{ids 1308}#)
+                                            #{w 1290}#))
+                                        (lambda (#{symname 1310}#
+                                                 #{marks 1311}#)
+                                          (begin
+                                            (vector-set!
+                                              #{symnamevec 1302}#
+                                              #{i 1309}#
+                                              #{symname 1310}#)
+                                            (vector-set!
+                                              #{marksvec 1303}#
+                                              #{i 1309}#
+                                              #{marks 1311}#)
+                                            (#{f 1307}#
+                                              (cdr #{ids 1308}#)
+                                              (#{1+}# #{i 1309}#)))))))))
+                               (#{f 1307}# #{ids 1288}# 0))
+                             (#{make-ribcage 361}#
+                               #{symnamevec 1302}#
+                               #{marksvec 1303}#
+                               #{labelvec 1297}#)))))
+                     (cdr #{w 1290}#))))))
    (#{smart-append 389}#
-     (lambda (#{m1 1314}# #{m2 1315}#)
-       (if (null? #{m2 1315}#)
-         #{m1 1314}#
-         (append #{m1 1314}# #{m2 1315}#))))
+     (lambda (#{m1 1316}# #{m2 1317}#)
+       (if (null? #{m2 1317}#)
+         #{m1 1316}#
+         (append #{m1 1316}# #{m2 1317}#))))
    (#{join-wraps 391}#
-     (lambda (#{w1 1318}# #{w2 1319}#)
-       (begin
-         (let ((#{m1 1324}# (car #{w1 1318}#))
-               (#{s1 1325}# (cdr #{w1 1318}#)))
-           (if (null? #{m1 1324}#)
-             (if (null? #{s1 1325}#)
-               #{w2 1319}#
-               (cons (car #{w2 1319}#)
-                     (#{smart-append 389}#
-                       #{s1 1325}#
-                       (cdr #{w2 1319}#))))
-             (cons (#{smart-append 389}#
-                     #{m1 1324}#
-                     (car #{w2 1319}#))
+     (lambda (#{w1 1320}# #{w2 1321}#)
+       (let ((#{m1 1326}# (car #{w1 1320}#))
+             (#{s1 1327}# (cdr #{w1 1320}#)))
+         (if (null? #{m1 1326}#)
+           (if (null? #{s1 1327}#)
+             #{w2 1321}#
+             (cons (car #{w2 1321}#)
                    (#{smart-append 389}#
-                     #{s1 1325}#
-                     (cdr #{w2 1319}#))))))))
+                     #{s1 1327}#
+                     (cdr #{w2 1321}#))))
+           (cons (#{smart-append 389}#
+                   #{m1 1326}#
+                   (car #{w2 1321}#))
+                 (#{smart-append 389}#
+                   #{s1 1327}#
+                   (cdr #{w2 1321}#)))))))
    (#{join-marks 393}#
-     (lambda (#{m1 1334}# #{m2 1335}#)
-       (#{smart-append 389}# #{m1 1334}# #{m2 1335}#)))
+     (lambda (#{m1 1336}# #{m2 1337}#)
+       (#{smart-append 389}# #{m1 1336}# #{m2 1337}#)))
    (#{same-marks? 395}#
-     (lambda (#{x 1338}# #{y 1339}#)
-       (begin
-         (let ((#{t 1344}# (eq? #{x 1338}# #{y 1339}#)))
-           (if #{t 1344}#
-             #{t 1344}#
-             (if (not (null? #{x 1338}#))
-               (if (not (null? #{y 1339}#))
-                 (if (eq? (car #{x 1338}#) (car #{y 1339}#))
-                   (#{same-marks? 395}#
-                     (cdr #{x 1338}#)
-                     (cdr #{y 1339}#))
-                   #f)
+     (lambda (#{x 1340}# #{y 1341}#)
+       (let ((#{t 1346}# (eq? #{x 1340}# #{y 1341}#)))
+         (if #{t 1346}#
+           #{t 1346}#
+           (if (not (null? #{x 1340}#))
+             (if (not (null? #{y 1341}#))
+               (if (eq? (car #{x 1340}#) (car #{y 1341}#))
+                 (#{same-marks? 395}#
+                   (cdr #{x 1340}#)
+                   (cdr #{y 1341}#))
                  #f)
-               #f))))))
+               #f)
+             #f)))))
    (#{id-var-name 397}#
-     (lambda (#{id 1350}# #{w 1351}#)
+     (lambda (#{id 1352}# #{w 1353}#)
        (letrec*
-         ((#{search 1356}#
-            (lambda (#{sym 1372}# #{subst 1373}# #{marks 1374}#)
-              (if (null? #{subst 1373}#)
-                (values #f #{marks 1374}#)
-                (begin
-                  (let ((#{fst 1379}# (car #{subst 1373}#)))
-                    (if (eq? #{fst 1379}# 'shift)
-                      (#{search 1356}#
-                        #{sym 1372}#
-                        (cdr #{subst 1373}#)
-                        (cdr #{marks 1374}#))
-                      (begin
-                        (let ((#{symnames 1381}#
-                                (#{ribcage-symnames 365}# #{fst 1379}#)))
-                          (if (vector? #{symnames 1381}#)
-                            (#{search-vector-rib 1360}#
-                              #{sym 1372}#
-                              #{subst 1373}#
-                              #{marks 1374}#
-                              #{symnames 1381}#
-                              #{fst 1379}#)
-                            (#{search-list-rib 1358}#
-                              #{sym 1372}#
-                              #{subst 1373}#
-                              #{marks 1374}#
-                              #{symnames 1381}#
-                              #{fst 1379}#))))))))))
-          (#{search-list-rib 1358}#
-            (lambda (#{sym 1382}#
-                     #{subst 1383}#
-                     #{marks 1384}#
-                     #{symnames 1385}#
-                     #{ribcage 1386}#)
+         ((#{search 1358}#
+            (lambda (#{sym 1374}# #{subst 1375}# #{marks 1376}#)
+              (if (null? #{subst 1375}#)
+                (values #f #{marks 1376}#)
+                (let ((#{fst 1381}# (car #{subst 1375}#)))
+                  (if (eq? #{fst 1381}# 'shift)
+                    (#{search 1358}#
+                      #{sym 1374}#
+                      (cdr #{subst 1375}#)
+                      (cdr #{marks 1376}#))
+                    (let ((#{symnames 1383}#
+                            (#{ribcage-symnames 365}# #{fst 1381}#)))
+                      (if (vector? #{symnames 1383}#)
+                        (#{search-vector-rib 1362}#
+                          #{sym 1374}#
+                          #{subst 1375}#
+                          #{marks 1376}#
+                          #{symnames 1383}#
+                          #{fst 1381}#)
+                        (#{search-list-rib 1360}#
+                          #{sym 1374}#
+                          #{subst 1375}#
+                          #{marks 1376}#
+                          #{symnames 1383}#
+                          #{fst 1381}#))))))))
+          (#{search-list-rib 1360}#
+            (lambda (#{sym 1384}#
+                     #{subst 1385}#
+                     #{marks 1386}#
+                     #{symnames 1387}#
+                     #{ribcage 1388}#)
               (letrec*
-                ((#{f 1395}#
-                   (lambda (#{symnames 1396}# #{i 1397}#)
-                     (if (null? #{symnames 1396}#)
-                       (#{search 1356}#
-                         #{sym 1382}#
-                         (cdr #{subst 1383}#)
-                         #{marks 1384}#)
-                       (if (if (eq? (car #{symnames 1396}#) #{sym 1382}#)
+                ((#{f 1397}#
+                   (lambda (#{symnames 1398}# #{i 1399}#)
+                     (if (null? #{symnames 1398}#)
+                       (#{search 1358}#
+                         #{sym 1384}#
+                         (cdr #{subst 1385}#)
+                         #{marks 1386}#)
+                       (if (if (eq? (car #{symnames 1398}#) #{sym 1384}#)
                              (#{same-marks? 395}#
-                               #{marks 1384}#
+                               #{marks 1386}#
                                (list-ref
-                                 (#{ribcage-marks 367}# #{ribcage 1386}#)
-                                 #{i 1397}#))
+                                 (#{ribcage-marks 367}# #{ribcage 1388}#)
+                                 #{i 1399}#))
                              #f)
                          (values
                            (list-ref
-                             (#{ribcage-labels 369}# #{ribcage 1386}#)
-                             #{i 1397}#)
-                           #{marks 1384}#)
-                         (#{f 1395}#
-                           (cdr #{symnames 1396}#)
-                           (#{1+}# #{i 1397}#)))))))
-                (begin (#{f 1395}# #{symnames 1385}# 0)))))
-          (#{search-vector-rib 1360}#
-            (lambda (#{sym 1406}#
-                     #{subst 1407}#
-                     #{marks 1408}#
-                     #{symnames 1409}#
-                     #{ribcage 1410}#)
-              (begin
-                (let ((#{n 1417}# (vector-length #{symnames 1409}#)))
-                  (letrec*
-                    ((#{f 1420}#
-                       (lambda (#{i 1421}#)
-                         (if (= #{i 1421}# #{n 1417}#)
-                           (#{search 1356}#
-                             #{sym 1406}#
-                             (cdr #{subst 1407}#)
-                             #{marks 1408}#)
-                           (if (if (eq? (vector-ref
-                                          #{symnames 1409}#
-                                          #{i 1421}#)
-                                        #{sym 1406}#)
-                                 (#{same-marks? 395}#
-                                   #{marks 1408}#
-                                   (vector-ref
-                                     (#{ribcage-marks 367}# #{ribcage 1410}#)
-                                     #{i 1421}#))
-                                 #f)
-                             (values
-                               (vector-ref
-                                 (#{ribcage-labels 369}# #{ribcage 1410}#)
-                                 #{i 1421}#)
-                               #{marks 1408}#)
-                             (#{f 1420}# (#{1+}# #{i 1421}#)))))))
-                    (begin (#{f 1420}# 0))))))))
-         (begin
-           (if (symbol? #{id 1350}#)
-             (begin
-               (let ((#{t 1433}#
-                       (#{search 1356}#
-                         #{id 1350}#
-                         (cdr #{w 1351}#)
-                         (car #{w 1351}#))))
-                 (if #{t 1433}# #{t 1433}# #{id 1350}#)))
-             (if (#{syntax-object? 309}# #{id 1350}#)
-               (begin
-                 (let ((#{id 1442}#
-                         (#{syntax-object-expression 311}# #{id 1350}#))
-                       (#{w1 1443}#
-                         (#{syntax-object-wrap 313}# #{id 1350}#)))
-                   (begin
-                     (let ((#{marks 1445}#
-                             (#{join-marks 393}#
-                               (car #{w 1351}#)
-                               (car #{w1 1443}#))))
-                       (call-with-values
-                         (lambda ()
-                           (#{search 1356}#
-                             #{id 1442}#
-                             (cdr #{w 1351}#)
-                             #{marks 1445}#))
-                         (lambda (#{new-id 1449}# #{marks 1450}#)
-                           (begin
-                             (let ((#{t 1455}# #{new-id 1449}#))
-                               (if #{t 1455}#
-                                 #{t 1455}#
-                                 (begin
-                                   (let ((#{t 1458}#
-                                           (#{search 1356}#
-                                             #{id 1442}#
-                                             (cdr #{w1 1443}#)
-                                             #{marks 1450}#)))
-                                     (if #{t 1458}#
-                                       #{t 1458}#
-                                       #{id 1442}#))))))))))))
-               (syntax-violation
-                 'id-var-name
-                 "invalid id"
-                 #{id 1350}#)))))))
+                             (#{ribcage-labels 369}# #{ribcage 1388}#)
+                             #{i 1399}#)
+                           #{marks 1386}#)
+                         (#{f 1397}#
+                           (cdr #{symnames 1398}#)
+                           (#{1+}# #{i 1399}#)))))))
+                (#{f 1397}# #{symnames 1387}# 0))))
+          (#{search-vector-rib 1362}#
+            (lambda (#{sym 1408}#
+                     #{subst 1409}#
+                     #{marks 1410}#
+                     #{symnames 1411}#
+                     #{ribcage 1412}#)
+              (let ((#{n 1419}# (vector-length #{symnames 1411}#)))
+                (letrec*
+                  ((#{f 1422}#
+                     (lambda (#{i 1423}#)
+                       (if (= #{i 1423}# #{n 1419}#)
+                         (#{search 1358}#
+                           #{sym 1408}#
+                           (cdr #{subst 1409}#)
+                           #{marks 1410}#)
+                         (if (if (eq? (vector-ref #{symnames 1411}# #{i 1423}#)
+                                      #{sym 1408}#)
+                               (#{same-marks? 395}#
+                                 #{marks 1410}#
+                                 (vector-ref
+                                   (#{ribcage-marks 367}# #{ribcage 1412}#)
+                                   #{i 1423}#))
+                               #f)
+                           (values
+                             (vector-ref
+                               (#{ribcage-labels 369}# #{ribcage 1412}#)
+                               #{i 1423}#)
+                             #{marks 1410}#)
+                           (#{f 1422}# (#{1+}# #{i 1423}#)))))))
+                  (#{f 1422}# 0))))))
+         (if (symbol? #{id 1352}#)
+           (let ((#{t 1435}#
+                   (#{search 1358}#
+                     #{id 1352}#
+                     (cdr #{w 1353}#)
+                     (car #{w 1353}#))))
+             (if #{t 1435}# #{t 1435}# #{id 1352}#))
+           (if (#{syntax-object? 309}# #{id 1352}#)
+             (let ((#{id 1444}#
+                     (#{syntax-object-expression 311}# #{id 1352}#))
+                   (#{w1 1445}#
+                     (#{syntax-object-wrap 313}# #{id 1352}#)))
+               (let ((#{marks 1447}#
+                       (#{join-marks 393}#
+                         (car #{w 1353}#)
+                         (car #{w1 1445}#))))
+                 (call-with-values
+                   (lambda ()
+                     (#{search 1358}#
+                       #{id 1444}#
+                       (cdr #{w 1353}#)
+                       #{marks 1447}#))
+                   (lambda (#{new-id 1451}# #{marks 1452}#)
+                     (let ((#{t 1457}# #{new-id 1451}#))
+                       (if #{t 1457}#
+                         #{t 1457}#
+                         (let ((#{t 1460}#
+                                 (#{search 1358}#
+                                   #{id 1444}#
+                                   (cdr #{w1 1445}#)
+                                   #{marks 1452}#)))
+                           (if #{t 1460}# #{t 1460}# #{id 1444}#))))))))
+             (syntax-violation
+               'id-var-name
+               "invalid id"
+               #{id 1352}#))))))
    (#{free-id=? 399}#
-     (lambda (#{i 1463}# #{j 1464}#)
-       (if (eq? (begin
-                  (let ((#{x 1470}# #{i 1463}#))
-                    (if (#{syntax-object? 309}# #{x 1470}#)
-                      (#{syntax-object-expression 311}# #{x 1470}#)
-                      #{x 1470}#)))
-                (begin
-                  (let ((#{x 1473}# #{j 1464}#))
-                    (if (#{syntax-object? 309}# #{x 1473}#)
-                      (#{syntax-object-expression 311}# #{x 1473}#)
-                      #{x 1473}#))))
-         (eq? (#{id-var-name 397}# #{i 1463}# '(()))
-              (#{id-var-name 397}# #{j 1464}# '(())))
+     (lambda (#{i 1465}# #{j 1466}#)
+       (if (eq? (let ((#{x 1472}# #{i 1465}#))
+                  (if (#{syntax-object? 309}# #{x 1472}#)
+                    (#{syntax-object-expression 311}# #{x 1472}#)
+                    #{x 1472}#))
+                (let ((#{x 1475}# #{j 1466}#))
+                  (if (#{syntax-object? 309}# #{x 1475}#)
+                    (#{syntax-object-expression 311}# #{x 1475}#)
+                    #{x 1475}#)))
+         (eq? (#{id-var-name 397}# #{i 1465}# '(()))
+              (#{id-var-name 397}# #{j 1466}# '(())))
          #f)))
    (#{bound-id=? 401}#
-     (lambda (#{i 1477}# #{j 1478}#)
-       (if (if (#{syntax-object? 309}# #{i 1477}#)
-             (#{syntax-object? 309}# #{j 1478}#)
+     (lambda (#{i 1479}# #{j 1480}#)
+       (if (if (#{syntax-object? 309}# #{i 1479}#)
+             (#{syntax-object? 309}# #{j 1480}#)
              #f)
-         (if (eq? (#{syntax-object-expression 311}# #{i 1477}#)
-                  (#{syntax-object-expression 311}# #{j 1478}#))
+         (if (eq? (#{syntax-object-expression 311}# #{i 1479}#)
+                  (#{syntax-object-expression 311}# #{j 1480}#))
            (#{same-marks? 395}#
-             (car (#{syntax-object-wrap 313}# #{i 1477}#))
-             (car (#{syntax-object-wrap 313}# #{j 1478}#)))
+             (car (#{syntax-object-wrap 313}# #{i 1479}#))
+             (car (#{syntax-object-wrap 313}# #{j 1480}#)))
            #f)
-         (eq? #{i 1477}# #{j 1478}#))))
+         (eq? #{i 1479}# #{j 1480}#))))
    (#{valid-bound-ids? 403}#
-     (lambda (#{ids 1487}#)
+     (lambda (#{ids 1489}#)
        (if (letrec*
-             ((#{all-ids? 1492}#
-                (lambda (#{ids 1493}#)
-                  (begin
-                    (let ((#{t 1496}# (null? #{ids 1493}#)))
-                      (if #{t 1496}#
-                        #{t 1496}#
-                        (if (#{id? 343}# (car #{ids 1493}#))
-                          (#{all-ids? 1492}# (cdr #{ids 1493}#))
-                          #f)))))))
-             (begin (#{all-ids? 1492}# #{ids 1487}#)))
-         (#{distinct-bound-ids? 405}# #{ids 1487}#)
+             ((#{all-ids? 1494}#
+                (lambda (#{ids 1495}#)
+                  (let ((#{t 1498}# (null? #{ids 1495}#)))
+                    (if #{t 1498}#
+                      #{t 1498}#
+                      (if (#{id? 343}# (car #{ids 1495}#))
+                        (#{all-ids? 1494}# (cdr #{ids 1495}#))
+                        #f))))))
+             (#{all-ids? 1494}# #{ids 1489}#))
+         (#{distinct-bound-ids? 405}# #{ids 1489}#)
          #f)))
    (#{distinct-bound-ids? 405}#
-     (lambda (#{ids 1501}#)
+     (lambda (#{ids 1503}#)
        (letrec*
-         ((#{distinct? 1505}#
-            (lambda (#{ids 1506}#)
-              (begin
-                (let ((#{t 1509}# (null? #{ids 1506}#)))
-                  (if #{t 1509}#
-                    #{t 1509}#
-                    (if (not (#{bound-id-member? 407}#
-                               (car #{ids 1506}#)
-                               (cdr #{ids 1506}#)))
-                      (#{distinct? 1505}# (cdr #{ids 1506}#))
-                      #f)))))))
-         (begin (#{distinct? 1505}# #{ids 1501}#)))))
+         ((#{distinct? 1507}#
+            (lambda (#{ids 1508}#)
+              (let ((#{t 1511}# (null? #{ids 1508}#)))
+                (if #{t 1511}#
+                  #{t 1511}#
+                  (if (not (#{bound-id-member? 407}#
+                             (car #{ids 1508}#)
+                             (cdr #{ids 1508}#)))
+                    (#{distinct? 1507}# (cdr #{ids 1508}#))
+                    #f))))))
+         (#{distinct? 1507}# #{ids 1503}#))))
    (#{bound-id-member? 407}#
-     (lambda (#{x 1513}# #{list 1514}#)
-       (if (not (null? #{list 1514}#))
-         (begin
-           (let ((#{t 1521}#
-                   (#{bound-id=? 401}#
-                     #{x 1513}#
-                     (car #{list 1514}#))))
-             (if #{t 1521}#
-               #{t 1521}#
-               (#{bound-id-member? 407}#
-                 #{x 1513}#
-                 (cdr #{list 1514}#)))))
+     (lambda (#{x 1515}# #{list 1516}#)
+       (if (not (null? #{list 1516}#))
+         (let ((#{t 1523}#
+                 (#{bound-id=? 401}#
+                   #{x 1515}#
+                   (car #{list 1516}#))))
+           (if #{t 1523}#
+             #{t 1523}#
+             (#{bound-id-member? 407}#
+               #{x 1515}#
+               (cdr #{list 1516}#))))
          #f)))
    (#{wrap 409}#
-     (lambda (#{x 1523}# #{w 1524}# #{defmod 1525}#)
-       (if (if (null? (car #{w 1524}#))
-             (null? (cdr #{w 1524}#))
+     (lambda (#{x 1525}# #{w 1526}# #{defmod 1527}#)
+       (if (if (null? (car #{w 1526}#))
+             (null? (cdr #{w 1526}#))
              #f)
-         #{x 1523}#
-         (if (#{syntax-object? 309}# #{x 1523}#)
+         #{x 1525}#
+         (if (#{syntax-object? 309}# #{x 1525}#)
            (#{make-syntax-object 307}#
-             (#{syntax-object-expression 311}# #{x 1523}#)
+             (#{syntax-object-expression 311}# #{x 1525}#)
              (#{join-wraps 391}#
-               #{w 1524}#
-               (#{syntax-object-wrap 313}# #{x 1523}#))
-             (#{syntax-object-module 315}# #{x 1523}#))
-           (if (null? #{x 1523}#)
-             #{x 1523}#
+               #{w 1526}#
+               (#{syntax-object-wrap 313}# #{x 1525}#))
+             (#{syntax-object-module 315}# #{x 1525}#))
+           (if (null? #{x 1525}#)
+             #{x 1525}#
              (#{make-syntax-object 307}#
-               #{x 1523}#
-               #{w 1524}#
-               #{defmod 1525}#))))))
+               #{x 1525}#
+               #{w 1526}#
+               #{defmod 1527}#))))))
    (#{source-wrap 411}#
-     (lambda (#{x 1540}#
-              #{w 1541}#
-              #{s 1542}#
-              #{defmod 1543}#)
+     (lambda (#{x 1542}#
+              #{w 1543}#
+              #{s 1544}#
+              #{defmod 1545}#)
        (#{wrap 409}#
-         (#{decorate-source 261}# #{x 1540}# #{s 1542}#)
-         #{w 1541}#
-         #{defmod 1543}#)))
+         (#{decorate-source 261}# #{x 1542}# #{s 1544}#)
+         #{w 1543}#
+         #{defmod 1545}#)))
    (#{chi-sequence 413}#
-     (lambda (#{body 1548}#
-              #{r 1549}#
-              #{w 1550}#
-              #{s 1551}#
-              #{mod 1552}#)
+     (lambda (#{body 1550}#
+              #{r 1551}#
+              #{w 1552}#
+              #{s 1553}#
+              #{mod 1554}#)
        (#{build-sequence 297}#
-         #{s 1551}#
+         #{s 1553}#
          (letrec*
-           ((#{dobody 1563}#
-              (lambda (#{body 1564}#
-                       #{r 1565}#
-                       #{w 1566}#
-                       #{mod 1567}#)
-                (if (null? #{body 1564}#)
+           ((#{dobody 1565}#
+              (lambda (#{body 1566}#
+                       #{r 1567}#
+                       #{w 1568}#
+                       #{mod 1569}#)
+                (if (null? #{body 1566}#)
                   '()
-                  (begin
-                    (let ((#{first 1569}#
-                            (#{chi 423}#
-                              (car #{body 1564}#)
-                              #{r 1565}#
-                              #{w 1566}#
-                              #{mod 1567}#)))
-                      (cons #{first 1569}#
-                            (#{dobody 1563}#
-                              (cdr #{body 1564}#)
-                              #{r 1565}#
-                              #{w 1566}#
-                              #{mod 1567}#))))))))
-           (begin
-             (#{dobody 1563}#
-               #{body 1548}#
-               #{r 1549}#
-               #{w 1550}#
-               #{mod 1552}#))))))
+                  (let ((#{first 1571}#
+                          (#{chi 423}#
+                            (car #{body 1566}#)
+                            #{r 1567}#
+                            #{w 1568}#
+                            #{mod 1569}#)))
+                    (cons #{first 1571}#
+                          (#{dobody 1565}#
+                            (cdr #{body 1566}#)
+                            #{r 1567}#
+                            #{w 1568}#
+                            #{mod 1569}#)))))))
+           (#{dobody 1565}#
+             #{body 1550}#
+             #{r 1551}#
+             #{w 1552}#
+             #{mod 1554}#)))))
    (#{chi-top-sequence 415}#
-     (lambda (#{body 1570}#
-              #{r 1571}#
-              #{w 1572}#
-              #{s 1573}#
-              #{m 1574}#
-              #{esew 1575}#
-              #{mod 1576}#)
+     (lambda (#{body 1572}#
+              #{r 1573}#
+              #{w 1574}#
+              #{s 1575}#
+              #{m 1576}#
+              #{esew 1577}#
+              #{mod 1578}#)
        (letrec*
-         ((#{scan 1585}#
-            (lambda (#{body 1586}#
-                     #{r 1587}#
-                     #{w 1588}#
-                     #{s 1589}#
-                     #{m 1590}#
-                     #{esew 1591}#
-                     #{mod 1592}#
-                     #{exps 1593}#)
-              (if (null? #{body 1586}#)
-                #{exps 1593}#
+         ((#{scan 1587}#
+            (lambda (#{body 1588}#
+                     #{r 1589}#
+                     #{w 1590}#
+                     #{s 1591}#
+                     #{m 1592}#
+                     #{esew 1593}#
+                     #{mod 1594}#
+                     #{exps 1595}#)
+              (if (null? #{body 1588}#)
+                #{exps 1595}#
                 (call-with-values
                   (lambda ()
                     (call-with-values
                       (lambda ()
-                        (begin
-                          (let ((#{e 1606}# (car #{body 1586}#)))
-                            (#{syntax-type 421}#
-                              #{e 1606}#
-                              #{r 1587}#
-                              #{w 1588}#
-                              (begin
-                                (let ((#{t 1609}#
-                                        (#{source-annotation 324}#
-                                          #{e 1606}#)))
-                                  (if #{t 1609}# #{t 1609}# #{s 1589}#)))
-                              #f
-                              #{mod 1592}#
-                              #f))))
-                      (lambda (#{type 1611}#
-                               #{value 1612}#
-                               #{e 1613}#
-                               #{w 1614}#
-                               #{s 1615}#
-                               #{mod 1616}#)
-                        (if (memv #{type 1611}# '(begin-form))
-                          (let ((#{tmp 1624}# #{e 1613}#))
-                            (let ((#{tmp 1625}#
-                                    ($sc-dispatch #{tmp 1624}# '(_))))
-                              (if #{tmp 1625}#
-                                (@apply (lambda () #{exps 1593}#) #{tmp 1625}#)
-                                (let ((#{tmp 1626}#
+                        (let ((#{e 1608}# (car #{body 1588}#)))
+                          (#{syntax-type 421}#
+                            #{e 1608}#
+                            #{r 1589}#
+                            #{w 1590}#
+                            (let ((#{t 1611}#
+                                    (#{source-annotation 324}# #{e 1608}#)))
+                              (if #{t 1611}# #{t 1611}# #{s 1591}#))
+                            #f
+                            #{mod 1594}#
+                            #f)))
+                      (lambda (#{type 1613}#
+                               #{value 1614}#
+                               #{e 1615}#
+                               #{w 1616}#
+                               #{s 1617}#
+                               #{mod 1618}#)
+                        (if (memv #{type 1613}# '(begin-form))
+                          (let ((#{tmp 1626}# #{e 1615}#))
+                            (let ((#{tmp 1627}#
+                                    ($sc-dispatch #{tmp 1626}# '(_))))
+                              (if #{tmp 1627}#
+                                (@apply (lambda () #{exps 1595}#) #{tmp 1627}#)
+                                (let ((#{tmp 1628}#
                                         ($sc-dispatch
-                                          #{tmp 1624}#
+                                          #{tmp 1626}#
                                           '(_ any . each-any))))
-                                  (if #{tmp 1626}#
+                                  (if #{tmp 1628}#
                                     (@apply
-                                      (lambda (#{e1 1629}# #{e2 1630}#)
-                                        (#{scan 1585}#
-                                          (cons #{e1 1629}# #{e2 1630}#)
-                                          #{r 1587}#
-                                          #{w 1614}#
-                                          #{s 1615}#
-                                          #{m 1590}#
-                                          #{esew 1591}#
-                                          #{mod 1616}#
-                                          #{exps 1593}#))
-                                      #{tmp 1626}#)
+                                      (lambda (#{e1 1631}# #{e2 1632}#)
+                                        (#{scan 1587}#
+                                          (cons #{e1 1631}# #{e2 1632}#)
+                                          #{r 1589}#
+                                          #{w 1616}#
+                                          #{s 1617}#
+                                          #{m 1592}#
+                                          #{esew 1593}#
+                                          #{mod 1618}#
+                                          #{exps 1595}#))
+                                      #{tmp 1628}#)
                                     (syntax-violation
                                       #f
                                       "source expression failed to match any 
pattern"
-                                      #{tmp 1624}#))))))
-                          (if (memv #{type 1611}# '(local-syntax-form))
+                                      #{tmp 1626}#))))))
+                          (if (memv #{type 1613}# '(local-syntax-form))
                             (#{chi-local-syntax 433}#
-                              #{value 1612}#
-                              #{e 1613}#
-                              #{r 1587}#
-                              #{w 1614}#
-                              #{s 1615}#
-                              #{mod 1616}#
-                              (lambda (#{body 1633}#
-                                       #{r 1634}#
-                                       #{w 1635}#
-                                       #{s 1636}#
-                                       #{mod 1637}#)
-                                (#{scan 1585}#
-                                  #{body 1633}#
-                                  #{r 1634}#
-                                  #{w 1635}#
-                                  #{s 1636}#
-                                  #{m 1590}#
-                                  #{esew 1591}#
-                                  #{mod 1637}#
-                                  #{exps 1593}#)))
-                            (if (memv #{type 1611}# '(eval-when-form))
-                              (let ((#{tmp 1644}# #{e 1613}#))
-                                (let ((#{tmp 1645}#
+                              #{value 1614}#
+                              #{e 1615}#
+                              #{r 1589}#
+                              #{w 1616}#
+                              #{s 1617}#
+                              #{mod 1618}#
+                              (lambda (#{body 1635}#
+                                       #{r 1636}#
+                                       #{w 1637}#
+                                       #{s 1638}#
+                                       #{mod 1639}#)
+                                (#{scan 1587}#
+                                  #{body 1635}#
+                                  #{r 1636}#
+                                  #{w 1637}#
+                                  #{s 1638}#
+                                  #{m 1592}#
+                                  #{esew 1593}#
+                                  #{mod 1639}#
+                                  #{exps 1595}#)))
+                            (if (memv #{type 1613}# '(eval-when-form))
+                              (let ((#{tmp 1646}# #{e 1615}#))
+                                (let ((#{tmp 1647}#
                                         ($sc-dispatch
-                                          #{tmp 1644}#
+                                          #{tmp 1646}#
                                           '(_ each-any any . each-any))))
-                                  (if #{tmp 1645}#
+                                  (if #{tmp 1647}#
                                     (@apply
-                                      (lambda (#{x 1649}#
-                                               #{e1 1650}#
-                                               #{e2 1651}#)
-                                        (begin
-                                          (let ((#{when-list 1654}#
-                                                  (#{chi-when-list 419}#
-                                                    #{e 1613}#
-                                                    #{x 1649}#
-                                                    #{w 1614}#))
-                                                (#{body 1655}#
-                                                  (cons #{e1 1650}#
-                                                        #{e2 1651}#)))
-                                            (if (eq? #{m 1590}# 'e)
-                                              (if (memq 'eval
-                                                        #{when-list 1654}#)
-                                                (#{scan 1585}#
-                                                  #{body 1655}#
-                                                  #{r 1587}#
-                                                  #{w 1614}#
-                                                  #{s 1615}#
-                                                  (if (memq 'expand
-                                                            #{when-list 1654}#)
-                                                    'c&e
-                                                    'e)
-                                                  '(eval)
-                                                  #{mod 1616}#
-                                                  #{exps 1593}#)
+                                      (lambda (#{x 1651}#
+                                               #{e1 1652}#
+                                               #{e2 1653}#)
+                                        (let ((#{when-list 1656}#
+                                                (#{chi-when-list 419}#
+                                                  #{e 1615}#
+                                                  #{x 1651}#
+                                                  #{w 1616}#))
+                                              (#{body 1657}#
+                                                (cons #{e1 1652}#
+                                                      #{e2 1653}#)))
+                                          (if (eq? #{m 1592}# 'e)
+                                            (if (memq 'eval #{when-list 1656}#)
+                                              (#{scan 1587}#
+                                                #{body 1657}#
+                                                #{r 1589}#
+                                                #{w 1616}#
+                                                #{s 1617}#
+                                                (if (memq 'expand
+                                                          #{when-list 1656}#)
+                                                  'c&e
+                                                  'e)
+                                                '(eval)
+                                                #{mod 1618}#
+                                                #{exps 1595}#)
+                                              (begin
+                                                (if (memq 'expand
+                                                          #{when-list 1656}#)
+                                                  (#{top-level-eval-hook 252}#
+                                                    (#{chi-top-sequence 415}#
+                                                      #{body 1657}#
+                                                      #{r 1589}#
+                                                      #{w 1616}#
+                                                      #{s 1617}#
+                                                      'e
+                                                      '(eval)
+                                                      #{mod 1618}#)
+                                                    #{mod 1618}#))
+                                                (values #{exps 1595}#)))
+                                            (if (memq 'load #{when-list 1656}#)
+                                              (if (let ((#{t 1666}#
+                                                          (memq 'compile
+                                                                #{when-list 
1656}#)))
+                                                    (if #{t 1666}#
+                                                      #{t 1666}#
+                                                      (let ((#{t 1669}#
+                                                              (memq 'expand
+                                                                    
#{when-list 1656}#)))
+                                                        (if #{t 1669}#
+                                                          #{t 1669}#
+                                                          (if (eq? #{m 1592}#
+                                                                   'c&e)
+                                                            (memq 'eval
+                                                                  #{when-list 
1656}#)
+                                                            #f)))))
+                                                (#{scan 1587}#
+                                                  #{body 1657}#
+                                                  #{r 1589}#
+                                                  #{w 1616}#
+                                                  #{s 1617}#
+                                                  'c&e
+                                                  '(compile load)
+                                                  #{mod 1618}#
+                                                  #{exps 1595}#)
+                                                (if (memq #{m 1592}# '(c c&e))
+                                                  (#{scan 1587}#
+                                                    #{body 1657}#
+                                                    #{r 1589}#
+                                                    #{w 1616}#
+                                                    #{s 1617}#
+                                                    'c
+                                                    '(load)
+                                                    #{mod 1618}#
+                                                    #{exps 1595}#)
+                                                  (values #{exps 1595}#)))
+                                              (if (let ((#{t 1677}#
+                                                          (memq 'compile
+                                                                #{when-list 
1656}#)))
+                                                    (if #{t 1677}#
+                                                      #{t 1677}#
+                                                      (let ((#{t 1680}#
+                                                              (memq 'expand
+                                                                    
#{when-list 1656}#)))
+                                                        (if #{t 1680}#
+                                                          #{t 1680}#
+                                                          (if (eq? #{m 1592}#
+                                                                   'c&e)
+                                                            (memq 'eval
+                                                                  #{when-list 
1656}#)
+                                                            #f)))))
                                                 (begin
-                                                  (if (memq 'expand
-                                                            #{when-list 1654}#)
-                                                    (#{top-level-eval-hook 
252}#
-                                                      (#{chi-top-sequence 415}#
-                                                        #{body 1655}#
-                                                        #{r 1587}#
-                                                        #{w 1614}#
-                                                        #{s 1615}#
-                                                        'e
-                                                        '(eval)
-                                                        #{mod 1616}#)
-                                                      #{mod 1616}#))
-                                                  #{exps 1593}#))
-                                              (if (memq 'load
-                                                        #{when-list 1654}#)
-                                                (if (begin
-                                                      (let ((#{t 1664}#
-                                                              (memq 'compile
-                                                                    
#{when-list 1654}#)))
-                                                        (if #{t 1664}#
-                                                          #{t 1664}#
-                                                          (begin
-                                                            (let ((#{t 1667}#
-                                                                    (memq 
'expand
-                                                                          
#{when-list 1654}#)))
-                                                              (if #{t 1667}#
-                                                                #{t 1667}#
-                                                                (if (eq? #{m 
1590}#
-                                                                         'c&e)
-                                                                  (memq 'eval
-                                                                        
#{when-list 1654}#)
-                                                                  #f)))))))
-                                                  (#{scan 1585}#
-                                                    #{body 1655}#
-                                                    #{r 1587}#
-                                                    #{w 1614}#
-                                                    #{s 1615}#
-                                                    'c&e
-                                                    '(compile load)
-                                                    #{mod 1616}#
-                                                    #{exps 1593}#)
-                                                  (if (memq #{m 1590}#
-                                                            '(c c&e))
-                                                    (#{scan 1585}#
-                                                      #{body 1655}#
-                                                      #{r 1587}#
-                                                      #{w 1614}#
-                                                      #{s 1615}#
-                                                      'c
-                                                      '(load)
-                                                      #{mod 1616}#
-                                                      #{exps 1593}#)
-                                                    #{exps 1593}#))
-                                                (if (begin
-                                                      (let ((#{t 1675}#
-                                                              (memq 'compile
-                                                                    
#{when-list 1654}#)))
-                                                        (if #{t 1675}#
-                                                          #{t 1675}#
-                                                          (begin
-                                                            (let ((#{t 1678}#
-                                                                    (memq 
'expand
-                                                                          
#{when-list 1654}#)))
-                                                              (if #{t 1678}#
-                                                                #{t 1678}#
-                                                                (if (eq? #{m 
1590}#
-                                                                         'c&e)
-                                                                  (memq 'eval
-                                                                        
#{when-list 1654}#)
-                                                                  #f)))))))
-                                                  (begin
-                                                    (#{top-level-eval-hook 
252}#
-                                                      (#{chi-top-sequence 415}#
-                                                        #{body 1655}#
-                                                        #{r 1587}#
-                                                        #{w 1614}#
-                                                        #{s 1615}#
-                                                        'e
-                                                        '(eval)
-                                                        #{mod 1616}#)
-                                                      #{mod 1616}#)
-                                                    #{exps 1593}#)
-                                                  #{exps 1593}#))))))
-                                      #{tmp 1645}#)
+                                                  (#{top-level-eval-hook 252}#
+                                                    (#{chi-top-sequence 415}#
+                                                      #{body 1657}#
+                                                      #{r 1589}#
+                                                      #{w 1616}#
+                                                      #{s 1617}#
+                                                      'e
+                                                      '(eval)
+                                                      #{mod 1618}#)
+                                                    #{mod 1618}#)
+                                                  (values #{exps 1595}#))
+                                                (values #{exps 1595}#))))))
+                                      #{tmp 1647}#)
                                     (syntax-violation
                                       #f
                                       "source expression failed to match any 
pattern"
-                                      #{tmp 1644}#))))
-                              (if (memv #{type 1611}# '(define-syntax-form))
-                                (begin
-                                  (let ((#{n 1686}#
-                                          (#{id-var-name 397}#
-                                            #{value 1612}#
-                                            #{w 1614}#))
-                                        (#{r 1687}#
-                                          (#{macros-only-env 335}#
-                                            #{r 1587}#)))
-                                    (if (memv #{m 1590}# '(c))
-                                      (if (memq 'compile #{esew 1591}#)
+                                      #{tmp 1646}#))))
+                              (if (memv #{type 1613}# '(define-syntax-form))
+                                (let ((#{n 1688}#
+                                        (#{id-var-name 397}#
+                                          #{value 1614}#
+                                          #{w 1616}#))
+                                      (#{r 1689}#
+                                        (#{macros-only-env 335}# #{r 1589}#)))
+                                  (if (memv #{m 1592}# '(c))
+                                    (if (memq 'compile #{esew 1593}#)
+                                      (let ((#{e 1692}#
+                                              (#{chi-install-global 417}#
+                                                #{n 1688}#
+                                                (#{chi 423}#
+                                                  #{e 1615}#
+                                                  #{r 1689}#
+                                                  #{w 1616}#
+                                                  #{mod 1618}#))))
                                         (begin
-                                          (let ((#{e 1690}#
-                                                  (#{chi-install-global 417}#
-                                                    #{n 1686}#
-                                                    (#{chi 423}#
-                                                      #{e 1613}#
-                                                      #{r 1687}#
-                                                      #{w 1614}#
-                                                      #{mod 1616}#))))
-                                            (begin
-                                              (#{top-level-eval-hook 252}#
-                                                #{e 1690}#
-                                                #{mod 1616}#)
-                                              (if (memq 'load #{esew 1591}#)
-                                                (cons #{e 1690}# #{exps 1593}#)
-                                                #{exps 1593}#))))
-                                        (if (memq 'load #{esew 1591}#)
+                                          (#{top-level-eval-hook 252}#
+                                            #{e 1692}#
+                                            #{mod 1618}#)
+                                          (if (memq 'load #{esew 1593}#)
+                                            (values
+                                              (cons #{e 1692}# #{exps 1595}#))
+                                            (values #{exps 1595}#))))
+                                      (if (memq 'load #{esew 1593}#)
+                                        (values
                                           (cons (#{chi-install-global 417}#
-                                                  #{n 1686}#
+                                                  #{n 1688}#
                                                   (#{chi 423}#
-                                                    #{e 1613}#
-                                                    #{r 1687}#
-                                                    #{w 1614}#
-                                                    #{mod 1616}#))
-                                                #{exps 1593}#)
-                                          #{exps 1593}#))
-                                      (if (memv #{m 1590}# '(c&e))
-                                        (begin
-                                          (let ((#{e 1693}#
-                                                  (#{chi-install-global 417}#
-                                                    #{n 1686}#
-                                                    (#{chi 423}#
-                                                      #{e 1613}#
-                                                      #{r 1687}#
-                                                      #{w 1614}#
-                                                      #{mod 1616}#))))
-                                            (begin
-                                              (#{top-level-eval-hook 252}#
-                                                #{e 1693}#
-                                                #{mod 1616}#)
-                                              (cons #{e 1693}#
-                                                    #{exps 1593}#))))
-                                        (begin
-                                          (if (memq 'eval #{esew 1591}#)
-                                            (#{top-level-eval-hook 252}#
+                                                    #{e 1615}#
+                                                    #{r 1689}#
+                                                    #{w 1616}#
+                                                    #{mod 1618}#))
+                                                #{exps 1595}#))
+                                        (values #{exps 1595}#)))
+                                    (if (memv #{m 1592}# '(c&e))
+                                      (let ((#{e 1695}#
                                               (#{chi-install-global 417}#
-                                                #{n 1686}#
+                                                #{n 1688}#
                                                 (#{chi 423}#
-                                                  #{e 1613}#
-                                                  #{r 1687}#
-                                                  #{w 1614}#
-                                                  #{mod 1616}#))
-                                              #{mod 1616}#))
-                                          #{exps 1593}#)))))
-                                (if (memv #{type 1611}# '(define-form))
-                                  (begin
-                                    (let ((#{n 1698}#
-                                            (#{id-var-name 397}#
-                                              #{value 1612}#
-                                              #{w 1614}#)))
+                                                  #{e 1615}#
+                                                  #{r 1689}#
+                                                  #{w 1616}#
+                                                  #{mod 1618}#))))
+                                        (begin
+                                          (#{top-level-eval-hook 252}#
+                                            #{e 1695}#
+                                            #{mod 1618}#)
+                                          (values
+                                            (cons #{e 1695}# #{exps 1595}#))))
                                       (begin
-                                        (let ((#{type 1700}#
-                                                (car (#{lookup 337}#
-                                                       #{n 1698}#
-                                                       #{r 1587}#
-                                                       #{mod 1616}#))))
-                                          (if (memv #{type 1700}#
-                                                    '(global
-                                                       core
-                                                       macro
-                                                       module-ref))
-                                            (begin
-                                              (if (if (memq #{m 1590}#
-                                                            '(c c&e))
-                                                    (if (not 
(module-local-variable
-                                                               (current-module)
-                                                               #{n 1698}#))
+                                        (if (memq 'eval #{esew 1593}#)
+                                          (#{top-level-eval-hook 252}#
+                                            (#{chi-install-global 417}#
+                                              #{n 1688}#
+                                              (#{chi 423}#
+                                                #{e 1615}#
+                                                #{r 1689}#
+                                                #{w 1616}#
+                                                #{mod 1618}#))
+                                            #{mod 1618}#))
+                                        (values #{exps 1595}#)))))
+                                (if (memv #{type 1613}# '(define-form))
+                                  (let ((#{n 1700}#
+                                          (#{id-var-name 397}#
+                                            #{value 1614}#
+                                            #{w 1616}#)))
+                                    (let ((#{type 1702}#
+                                            (car (#{lookup 337}#
+                                                   #{n 1700}#
+                                                   #{r 1589}#
+                                                   #{mod 1618}#))))
+                                      (if (memv #{type 1702}#
+                                                '(global
+                                                   core
+                                                   macro
+                                                   module-ref))
+                                        (begin
+                                          (if (if (memq #{m 1592}# '(c c&e))
+                                                (if (not (module-local-variable
+                                                           (current-module)
+                                                           #{n 1700}#))
+                                                  (current-module)
+                                                  #f)
+                                                #f)
+                                            (let ((#{old 1709}#
+                                                    (module-variable
                                                       (current-module)
-                                                      #f)
+                                                      #{n 1700}#)))
+                                              (if (if (variable? #{old 1709}#)
+                                                    (variable-bound?
+                                                      #{old 1709}#)
                                                     #f)
-                                                (begin
-                                                  (let ((#{old 1707}#
-                                                          (module-variable
-                                                            (current-module)
-                                                            #{n 1698}#)))
-                                                    (if (if (variable?
-                                                              #{old 1707}#)
-                                                          (variable-bound?
-                                                            #{old 1707}#)
-                                                          #f)
-                                                      (module-define!
-                                                        (current-module)
-                                                        #{n 1698}#
-                                                        (variable-ref
-                                                          #{old 1707}#))
-                                                      (module-add!
-                                                        (current-module)
-                                                        #{n 1698}#
-                                                        
(make-undefined-variable))))))
-                                              (cons (if (eq? #{m 1590}# 'c&e)
+                                                (module-define!
+                                                  (current-module)
+                                                  #{n 1700}#
+                                                  (variable-ref #{old 1709}#))
+                                                (module-add!
+                                                  (current-module)
+                                                  #{n 1700}#
+                                                  (make-undefined-variable)))))
+                                          (values
+                                            (cons (if (eq? #{m 1592}# 'c&e)
+                                                    (let ((#{x 1713}#
+                                                            
(#{build-global-definition 283}#
+                                                              #{s 1617}#
+                                                              #{n 1700}#
+                                                              (#{chi 423}#
+                                                                #{e 1615}#
+                                                                #{r 1589}#
+                                                                #{w 1616}#
+                                                                #{mod 
1618}#))))
                                                       (begin
-                                                        (let ((#{x 1711}#
-                                                                
(#{build-global-definition 283}#
-                                                                  #{s 1615}#
-                                                                  #{n 1698}#
-                                                                  (#{chi 423}#
-                                                                    #{e 1613}#
-                                                                    #{r 1587}#
-                                                                    #{w 1614}#
-                                                                    #{mod 
1616}#))))
-                                                          (begin
-                                                            
(#{top-level-eval-hook 252}#
-                                                              #{x 1711}#
-                                                              #{mod 1616}#)
-                                                            #{x 1711}#)))
-                                                      (lambda ()
-                                                        
(#{build-global-definition 283}#
-                                                          #{s 1615}#
-                                                          #{n 1698}#
-                                                          (#{chi 423}#
-                                                            #{e 1613}#
-                                                            #{r 1587}#
-                                                            #{w 1614}#
-                                                            #{mod 1616}#))))
-                                                    #{exps 1593}#))
-                                            (if (memv #{type 1700}#
-                                                      '(displaced-lexical))
-                                              (syntax-violation
-                                                #f
-                                                "identifier out of context"
-                                                #{e 1613}#
-                                                (#{wrap 409}#
-                                                  #{value 1612}#
-                                                  #{w 1614}#
-                                                  #{mod 1616}#))
-                                              (syntax-violation
-                                                #f
-                                                "cannot define keyword at top 
level"
-                                                #{e 1613}#
-                                                (#{wrap 409}#
-                                                  #{value 1612}#
-                                                  #{w 1614}#
-                                                  #{mod 1616}#))))))))
-                                  (cons (if (eq? #{m 1590}# 'c&e)
-                                          (begin
-                                            (let ((#{x 1716}#
+                                                        (#{top-level-eval-hook 
252}#
+                                                          #{x 1713}#
+                                                          #{mod 1618}#)
+                                                        #{x 1713}#))
+                                                    (lambda ()
+                                                      
(#{build-global-definition 283}#
+                                                        #{s 1617}#
+                                                        #{n 1700}#
+                                                        (#{chi 423}#
+                                                          #{e 1615}#
+                                                          #{r 1589}#
+                                                          #{w 1616}#
+                                                          #{mod 1618}#))))
+                                                  #{exps 1595}#)))
+                                        (if (memv #{type 1702}#
+                                                  '(displaced-lexical))
+                                          (syntax-violation
+                                            #f
+                                            "identifier out of context"
+                                            #{e 1615}#
+                                            (#{wrap 409}#
+                                              #{value 1614}#
+                                              #{w 1616}#
+                                              #{mod 1618}#))
+                                          (syntax-violation
+                                            #f
+                                            "cannot define keyword at top 
level"
+                                            #{e 1615}#
+                                            (#{wrap 409}#
+                                              #{value 1614}#
+                                              #{w 1616}#
+                                              #{mod 1618}#))))))
+                                  (values
+                                    (cons (if (eq? #{m 1592}# 'c&e)
+                                            (let ((#{x 1718}#
                                                     (#{chi-expr 425}#
-                                                      #{type 1611}#
-                                                      #{value 1612}#
-                                                      #{e 1613}#
-                                                      #{r 1587}#
-                                                      #{w 1614}#
-                                                      #{s 1615}#
-                                                      #{mod 1616}#)))
+                                                      #{type 1613}#
+                                                      #{value 1614}#
+                                                      #{e 1615}#
+                                                      #{r 1589}#
+                                                      #{w 1616}#
+                                                      #{s 1617}#
+                                                      #{mod 1618}#)))
                                               (begin
                                                 (#{top-level-eval-hook 252}#
-                                                  #{x 1716}#
-                                                  #{mod 1616}#)
-                                                #{x 1716}#)))
-                                          (lambda ()
-                                            (#{chi-expr 425}#
-                                              #{type 1611}#
-                                              #{value 1612}#
-                                              #{e 1613}#
-                                              #{r 1587}#
-                                              #{w 1614}#
-                                              #{s 1615}#
-                                              #{mod 1616}#)))
-                                        #{exps 1593}#)))))))))
-                  (lambda (#{exps 1717}#)
-                    (#{scan 1585}#
-                      (cdr #{body 1586}#)
-                      #{r 1587}#
-                      #{w 1588}#
-                      #{s 1589}#
-                      #{m 1590}#
-                      #{esew 1591}#
-                      #{mod 1592}#
-                      #{exps 1717}#)))))))
-         (begin
-           (call-with-values
-             (lambda ()
-               (#{scan 1585}#
-                 #{body 1570}#
-                 #{r 1571}#
-                 #{w 1572}#
-                 #{s 1573}#
-                 #{m 1574}#
-                 #{esew 1575}#
-                 #{mod 1576}#
-                 '()))
-             (lambda (#{exps 1719}#)
-               (if (null? #{exps 1719}#)
-                 (#{build-void 265}# #{s 1573}#)
-                 (#{build-sequence 297}#
-                   #{s 1573}#
-                   (letrec*
-                     ((#{lp 1724}#
-                        (lambda (#{in 1725}# #{out 1726}#)
-                          (if (null? #{in 1725}#)
-                            #{out 1726}#
-                            (begin
-                              (let ((#{e 1728}# (car #{in 1725}#)))
-                                (#{lp 1724}#
-                                  (cdr #{in 1725}#)
-                                  (cons (if (procedure? #{e 1728}#)
-                                          (#{e 1728}#)
-                                          #{e 1728}#)
-                                        #{out 1726}#))))))))
-                     (begin (#{lp 1724}# #{exps 1719}# '())))))))))))
+                                                  #{x 1718}#
+                                                  #{mod 1618}#)
+                                                #{x 1718}#))
+                                            (lambda ()
+                                              (#{chi-expr 425}#
+                                                #{type 1613}#
+                                                #{value 1614}#
+                                                #{e 1615}#
+                                                #{r 1589}#
+                                                #{w 1616}#
+                                                #{s 1617}#
+                                                #{mod 1618}#)))
+                                          #{exps 1595}#))))))))))
+                  (lambda (#{exps 1719}#)
+                    (#{scan 1587}#
+                      (cdr #{body 1588}#)
+                      #{r 1589}#
+                      #{w 1590}#
+                      #{s 1591}#
+                      #{m 1592}#
+                      #{esew 1593}#
+                      #{mod 1594}#
+                      #{exps 1719}#)))))))
+         (call-with-values
+           (lambda ()
+             (#{scan 1587}#
+               #{body 1572}#
+               #{r 1573}#
+               #{w 1574}#
+               #{s 1575}#
+               #{m 1576}#
+               #{esew 1577}#
+               #{mod 1578}#
+               '()))
+           (lambda (#{exps 1721}#)
+             (if (null? #{exps 1721}#)
+               (#{build-void 265}# #{s 1575}#)
+               (#{build-sequence 297}#
+                 #{s 1575}#
+                 (letrec*
+                   ((#{lp 1726}#
+                      (lambda (#{in 1727}# #{out 1728}#)
+                        (if (null? #{in 1727}#)
+                          #{out 1728}#
+                          (let ((#{e 1730}# (car #{in 1727}#)))
+                            (#{lp 1726}#
+                              (cdr #{in 1727}#)
+                              (cons (if (procedure? #{e 1730}#)
+                                      (#{e 1730}#)
+                                      #{e 1730}#)
+                                    #{out 1728}#)))))))
+                   (#{lp 1726}# #{exps 1721}# '())))))))))
    (#{chi-install-global 417}#
-     (lambda (#{name 1729}# #{e 1730}#)
+     (lambda (#{name 1731}# #{e 1732}#)
        (#{build-global-definition 283}#
          #f
-         #{name 1729}#
+         #{name 1731}#
          (#{build-primcall 291}#
            #f
            'make-syntax-transformer
-           (list (#{build-data 295}# #f #{name 1729}#)
+           (list (#{build-data 295}# #f #{name 1731}#)
                  (#{build-data 295}# #f 'macro)
-                 #{e 1730}#)))))
+                 #{e 1732}#)))))
    (#{chi-when-list 419}#
-     (lambda (#{e 1737}# #{when-list 1738}# #{w 1739}#)
+     (lambda (#{e 1739}# #{when-list 1740}# #{w 1741}#)
        (letrec*
-         ((#{f 1746}#
-            (lambda (#{when-list 1747}# #{situations 1748}#)
-              (if (null? #{when-list 1747}#)
-                #{situations 1748}#
-                (#{f 1746}#
-                  (cdr #{when-list 1747}#)
-                  (cons (begin
-                          (let ((#{x 1750}# (car #{when-list 1747}#)))
-                            (if (#{free-id=? 399}#
-                                  #{x 1750}#
-                                  '#(syntax-object
-                                     compile
-                                     ((top)
-                                      #(ribcage () () ())
-                                      #(ribcage () () ())
-                                      #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i1749"))
-                                      #(ribcage () () ())
-                                      #(ribcage
-                                        #(f when-list situations)
-                                        #((top) (top) (top))
-                                        #("i1743" "i1744" "i1745"))
-                                      #(ribcage () () ())
-                                      #(ribcage
-                                        #(e when-list w)
-                                        #((top) (top) (top))
-                                        #("i1740" "i1741" "i1742"))
-                                      #(ribcage
-                                        (lambda-var-list
-                                          gen-var
-                                          strip
-                                          chi-lambda-case
-                                          lambda*-formals
-                                          chi-simple-lambda
-                                          lambda-formals
-                                          ellipsis?
-                                          chi-void
-                                          eval-local-transformer
-                                          chi-local-syntax
-                                          chi-body
-                                          chi-macro
-                                          chi-call
-                                          chi-expr
-                                          chi
-                                          syntax-type
-                                          chi-when-list
-                                          chi-install-global
-                                          chi-top-sequence
-                                          chi-sequence
-                                          source-wrap
-                                          wrap
-                                          bound-id-member?
-                                          distinct-bound-ids?
-                                          valid-bound-ids?
-                                          bound-id=?
-                                          free-id=?
-                                          id-var-name
-                                          same-marks?
-                                          join-marks
-                                          join-wraps
-                                          smart-append
-                                          make-binding-wrap
-                                          extend-ribcage!
-                                          make-empty-ribcage
-                                          new-mark
-                                          anti-mark
-                                          the-anti-mark
-                                          top-marked?
-                                          top-wrap
-                                          empty-wrap
-                                          set-ribcage-labels!
-                                          set-ribcage-marks!
-                                          set-ribcage-symnames!
-                                          ribcage-labels
-                                          ribcage-marks
-                                          ribcage-symnames
-                                          ribcage?
-                                          make-ribcage
-                                          gen-labels
-                                          gen-label
-                                          make-rename
-                                          rename-marks
-                                          rename-new
-                                          rename-old
-                                          subst-rename?
-                                          wrap-subst
-                                          wrap-marks
-                                          make-wrap
-                                          id-sym-name&marks
-                                          id-sym-name
-                                          id?
-                                          nonsymbol-id?
-                                          global-extend
-                                          lookup
-                                          macros-only-env
-                                          extend-var-env
-                                          extend-env
-                                          null-env
-                                          binding-value
-                                          binding-type
-                                          make-binding
-                                          arg-check
-                                          source-annotation
-                                          no-source
-                                          set-syntax-object-module!
-                                          set-syntax-object-wrap!
-                                          set-syntax-object-expression!
-                                          syntax-object-module
-                                          syntax-object-wrap
-                                          syntax-object-expression
-                                          syntax-object?
-                                          make-syntax-object
-                                          build-lexical-var
-                                          build-letrec
-                                          build-named-let
-                                          build-let
-                                          build-sequence
-                                          build-data
-                                          build-primref
-                                          build-primcall
-                                          build-lambda-case
-                                          build-case-lambda
-                                          build-simple-lambda
-                                          build-global-definition
-                                          build-global-assignment
-                                          build-global-reference
-                                          analyze-variable
-                                          build-lexical-assignment
-                                          build-lexical-reference
-                                          build-dynlet
-                                          build-conditional
-                                          build-call
-                                          build-void
-                                          maybe-name-value!
-                                          decorate-source
-                                          get-global-definition-hook
-                                          put-global-definition-hook
-                                          gensym-hook
-                                          local-eval-hook
-                                          top-level-eval-hook
-                                          fx<
-                                          fx=
-                                          fx-
-                                          fx+
-                                          set-lambda-meta!
-                                          lambda-meta
-                                          lambda?
-                                          make-dynlet
-                                          make-letrec
-                                          make-let
-                                          make-lambda-case
-                                          make-lambda
-                                          make-sequence
-                                          make-primcall
-                                          make-call
-                                          make-conditional
-                                          make-toplevel-define
-                                          make-toplevel-set
-                                          make-toplevel-ref
-                                          make-module-set
-                                          make-module-ref
-                                          make-lexical-set
-                                          make-lexical-ref
-                                          make-primitive-ref
-                                          make-const
-                                          make-void)
-                                        ((top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top)
-                                         (top))
-                                        ("i452"
-                                         "i450"
-                                         "i448"
-                                         "i446"
-                                         "i444"
-                                         "i442"
-                                         "i440"
-                                         "i438"
-                                         "i436"
-                                         "i434"
-                                         "i432"
-                                         "i430"
-                                         "i428"
-                                         "i426"
-                                         "i424"
-                                         "i422"
-                                         "i420"
-                                         "i418"
-                                         "i416"
-                                         "i414"
-                                         "i412"
-                                         "i410"
-                                         "i408"
-                                         "i406"
-                                         "i404"
-                                         "i402"
-                                         "i400"
-                                         "i398"
-                                         "i396"
-                                         "i394"
-                                         "i392"
-                                         "i390"
-                                         "i388"
-                                         "i386"
-                                         "i384"
-                                         "i383"
-                                         "i382"
-                                         "i380"
-                                         "i379"
-                                         "i378"
-                                         "i377"
-                                         "i376"
-                                         "i374"
-                                         "i372"
-                                         "i370"
-                                         "i368"
-                                         "i366"
-                                         "i364"
-                                         "i362"
-                                         "i360"
-                                         "i357"
-                                         "i355"
-                                         "i354"
-                                         "i353"
-                                         "i352"
-                                         "i351"
-                                         "i350"
-                                         "i349"
-                                         "i348"
-                                         "i347"
-                                         "i345"
-                                         "i344"
-                                         "i342"
-                                         "i340"
-                                         "i338"
-                                         "i336"
-                                         "i334"
-                                         "i332"
-                                         "i330"
-                                         "i329"
-                                         "i328"
-                                         "i327"
-                                         "i326"
-                                         "i325"
-                                         "i323"
-                                         "i322"
-                                         "i320"
-                                         "i318"
-                                         "i316"
-                                         "i314"
-                                         "i312"
-                                         "i310"
-                                         "i308"
-                                         "i306"
-                                         "i304"
-                                         "i302"
-                                         "i300"
-                                         "i298"
-                                         "i296"
-                                         "i294"
-                                         "i292"
-                                         "i290"
-                                         "i288"
-                                         "i286"
-                                         "i284"
-                                         "i282"
-                                         "i280"
-                                         "i278"
-                                         "i276"
-                                         "i274"
-                                         "i272"
-                                         "i270"
-                                         "i268"
-                                         "i266"
-                                         "i264"
-                                         "i262"
-                                         "i260"
-                                         "i258"
-                                         "i256"
-                                         "i255"
-                                         "i253"
-                                         "i251"
-                                         "i250"
-                                         "i249"
-                                         "i248"
-                                         "i247"
-                                         "i245"
-                                         "i243"
-                                         "i241"
-                                         "i238"
-                                         "i236"
-                                         "i234"
-                                         "i232"
-                                         "i230"
-                                         "i228"
-                                         "i226"
-                                         "i224"
-                                         "i222"
-                                         "i220"
-                                         "i218"
-                                         "i216"
-                                         "i214"
-                                         "i212"
-                                         "i210"
-                                         "i208"
-                                         "i206"
-                                         "i204"
-                                         "i202"))
-                                      #(ribcage
-                                        (define-structure
-                                          define-expansion-accessors
-                                          define-expansion-constructors)
-                                        ((top) (top) (top))
-                                        ("i40" "i39" "i38")))
-                                     (hygiene guile)))
-                              'compile
-                              (if (#{free-id=? 399}#
-                                    #{x 1750}#
-                                    '#(syntax-object
-                                       load
-                                       ((top)
-                                        #(ribcage () () ())
-                                        #(ribcage () () ())
-                                        #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i1749"))
-                                        #(ribcage () () ())
-                                        #(ribcage
-                                          #(f when-list situations)
-                                          #((top) (top) (top))
-                                          #("i1743" "i1744" "i1745"))
-                                        #(ribcage () () ())
-                                        #(ribcage
-                                          #(e when-list w)
-                                          #((top) (top) (top))
-                                          #("i1740" "i1741" "i1742"))
-                                        #(ribcage
-                                          (lambda-var-list
-                                            gen-var
-                                            strip
-                                            chi-lambda-case
-                                            lambda*-formals
-                                            chi-simple-lambda
-                                            lambda-formals
-                                            ellipsis?
-                                            chi-void
-                                            eval-local-transformer
-                                            chi-local-syntax
-                                            chi-body
-                                            chi-macro
-                                            chi-call
-                                            chi-expr
-                                            chi
-                                            syntax-type
-                                            chi-when-list
-                                            chi-install-global
-                                            chi-top-sequence
-                                            chi-sequence
-                                            source-wrap
-                                            wrap
-                                            bound-id-member?
-                                            distinct-bound-ids?
-                                            valid-bound-ids?
-                                            bound-id=?
-                                            free-id=?
-                                            id-var-name
-                                            same-marks?
-                                            join-marks
-                                            join-wraps
-                                            smart-append
-                                            make-binding-wrap
-                                            extend-ribcage!
-                                            make-empty-ribcage
-                                            new-mark
-                                            anti-mark
-                                            the-anti-mark
-                                            top-marked?
-                                            top-wrap
-                                            empty-wrap
-                                            set-ribcage-labels!
-                                            set-ribcage-marks!
-                                            set-ribcage-symnames!
-                                            ribcage-labels
-                                            ribcage-marks
-                                            ribcage-symnames
-                                            ribcage?
-                                            make-ribcage
-                                            gen-labels
-                                            gen-label
-                                            make-rename
-                                            rename-marks
-                                            rename-new
-                                            rename-old
-                                            subst-rename?
-                                            wrap-subst
-                                            wrap-marks
-                                            make-wrap
-                                            id-sym-name&marks
-                                            id-sym-name
-                                            id?
-                                            nonsymbol-id?
-                                            global-extend
-                                            lookup
-                                            macros-only-env
-                                            extend-var-env
-                                            extend-env
-                                            null-env
-                                            binding-value
-                                            binding-type
-                                            make-binding
-                                            arg-check
-                                            source-annotation
-                                            no-source
-                                            set-syntax-object-module!
-                                            set-syntax-object-wrap!
-                                            set-syntax-object-expression!
-                                            syntax-object-module
-                                            syntax-object-wrap
-                                            syntax-object-expression
-                                            syntax-object?
-                                            make-syntax-object
-                                            build-lexical-var
-                                            build-letrec
-                                            build-named-let
-                                            build-let
-                                            build-sequence
-                                            build-data
-                                            build-primref
-                                            build-primcall
-                                            build-lambda-case
-                                            build-case-lambda
-                                            build-simple-lambda
-                                            build-global-definition
-                                            build-global-assignment
-                                            build-global-reference
-                                            analyze-variable
-                                            build-lexical-assignment
-                                            build-lexical-reference
-                                            build-dynlet
-                                            build-conditional
-                                            build-call
-                                            build-void
-                                            maybe-name-value!
-                                            decorate-source
-                                            get-global-definition-hook
-                                            put-global-definition-hook
-                                            gensym-hook
-                                            local-eval-hook
-                                            top-level-eval-hook
-                                            fx<
-                                            fx=
-                                            fx-
-                                            fx+
-                                            set-lambda-meta!
-                                            lambda-meta
-                                            lambda?
-                                            make-dynlet
-                                            make-letrec
-                                            make-let
-                                            make-lambda-case
-                                            make-lambda
-                                            make-sequence
-                                            make-primcall
-                                            make-call
-                                            make-conditional
-                                            make-toplevel-define
-                                            make-toplevel-set
-                                            make-toplevel-ref
-                                            make-module-set
-                                            make-module-ref
-                                            make-lexical-set
-                                            make-lexical-ref
-                                            make-primitive-ref
-                                            make-const
-                                            make-void)
-                                          ((top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top)
-                                           (top))
-                                          ("i452"
-                                           "i450"
-                                           "i448"
-                                           "i446"
-                                           "i444"
-                                           "i442"
-                                           "i440"
-                                           "i438"
-                                           "i436"
-                                           "i434"
-                                           "i432"
-                                           "i430"
-                                           "i428"
-                                           "i426"
-                                           "i424"
-                                           "i422"
-                                           "i420"
-                                           "i418"
-                                           "i416"
-                                           "i414"
-                                           "i412"
-                                           "i410"
-                                           "i408"
-                                           "i406"
-                                           "i404"
-                                           "i402"
-                                           "i400"
-                                           "i398"
-                                           "i396"
-                                           "i394"
-                                           "i392"
-                                           "i390"
-                                           "i388"
-                                           "i386"
-                                           "i384"
-                                           "i383"
-                                           "i382"
-                                           "i380"
-                                           "i379"
-                                           "i378"
-                                           "i377"
-                                           "i376"
-                                           "i374"
-                                           "i372"
-                                           "i370"
-                                           "i368"
-                                           "i366"
-                                           "i364"
-                                           "i362"
-                                           "i360"
-                                           "i357"
-                                           "i355"
-                                           "i354"
-                                           "i353"
-                                           "i352"
-                                           "i351"
-                                           "i350"
-                                           "i349"
-                                           "i348"
-                                           "i347"
-                                           "i345"
-                                           "i344"
-                                           "i342"
-                                           "i340"
-                                           "i338"
-                                           "i336"
-                                           "i334"
-                                           "i332"
-                                           "i330"
-                                           "i329"
-                                           "i328"
-                                           "i327"
-                                           "i326"
-                                           "i325"
-                                           "i323"
-                                           "i322"
-                                           "i320"
-                                           "i318"
-                                           "i316"
-                                           "i314"
-                                           "i312"
-                                           "i310"
-                                           "i308"
-                                           "i306"
-                                           "i304"
-                                           "i302"
-                                           "i300"
-                                           "i298"
-                                           "i296"
-                                           "i294"
-                                           "i292"
-                                           "i290"
-                                           "i288"
-                                           "i286"
-                                           "i284"
-                                           "i282"
-                                           "i280"
-                                           "i278"
-                                           "i276"
-                                           "i274"
-                                           "i272"
-                                           "i270"
-                                           "i268"
-                                           "i266"
-                                           "i264"
-                                           "i262"
-                                           "i260"
-                                           "i258"
-                                           "i256"
-                                           "i255"
-                                           "i253"
-                                           "i251"
-                                           "i250"
-                                           "i249"
-                                           "i248"
-                                           "i247"
-                                           "i245"
-                                           "i243"
-                                           "i241"
-                                           "i238"
-                                           "i236"
-                                           "i234"
-                                           "i232"
-                                           "i230"
-                                           "i228"
-                                           "i226"
-                                           "i224"
-                                           "i222"
-                                           "i220"
-                                           "i218"
-                                           "i216"
-                                           "i214"
-                                           "i212"
-                                           "i210"
-                                           "i208"
-                                           "i206"
-                                           "i204"
-                                           "i202"))
-                                        #(ribcage
-                                          (define-structure
-                                            define-expansion-accessors
-                                            define-expansion-constructors)
-                                          ((top) (top) (top))
-                                          ("i40" "i39" "i38")))
-                                       (hygiene guile)))
-                                'load
-                                (if (#{free-id=? 399}#
-                                      #{x 1750}#
-                                      '#(syntax-object
-                                         eval
-                                         ((top)
-                                          #(ribcage () () ())
-                                          #(ribcage () () ())
-                                          #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i1749"))
-                                          #(ribcage () () ())
-                                          #(ribcage
-                                            #(f when-list situations)
-                                            #((top) (top) (top))
-                                            #("i1743" "i1744" "i1745"))
-                                          #(ribcage () () ())
-                                          #(ribcage
-                                            #(e when-list w)
-                                            #((top) (top) (top))
-                                            #("i1740" "i1741" "i1742"))
-                                          #(ribcage
-                                            (lambda-var-list
-                                              gen-var
-                                              strip
-                                              chi-lambda-case
-                                              lambda*-formals
-                                              chi-simple-lambda
-                                              lambda-formals
-                                              ellipsis?
-                                              chi-void
-                                              eval-local-transformer
-                                              chi-local-syntax
-                                              chi-body
-                                              chi-macro
-                                              chi-call
-                                              chi-expr
-                                              chi
-                                              syntax-type
-                                              chi-when-list
-                                              chi-install-global
-                                              chi-top-sequence
-                                              chi-sequence
-                                              source-wrap
-                                              wrap
-                                              bound-id-member?
-                                              distinct-bound-ids?
-                                              valid-bound-ids?
-                                              bound-id=?
-                                              free-id=?
-                                              id-var-name
-                                              same-marks?
-                                              join-marks
-                                              join-wraps
-                                              smart-append
-                                              make-binding-wrap
-                                              extend-ribcage!
-                                              make-empty-ribcage
-                                              new-mark
-                                              anti-mark
-                                              the-anti-mark
-                                              top-marked?
-                                              top-wrap
-                                              empty-wrap
-                                              set-ribcage-labels!
-                                              set-ribcage-marks!
-                                              set-ribcage-symnames!
-                                              ribcage-labels
-                                              ribcage-marks
-                                              ribcage-symnames
-                                              ribcage?
-                                              make-ribcage
-                                              gen-labels
-                                              gen-label
-                                              make-rename
-                                              rename-marks
-                                              rename-new
-                                              rename-old
-                                              subst-rename?
-                                              wrap-subst
-                                              wrap-marks
-                                              make-wrap
-                                              id-sym-name&marks
-                                              id-sym-name
-                                              id?
-                                              nonsymbol-id?
-                                              global-extend
-                                              lookup
-                                              macros-only-env
-                                              extend-var-env
-                                              extend-env
-                                              null-env
-                                              binding-value
-                                              binding-type
-                                              make-binding
-                                              arg-check
-                                              source-annotation
-                                              no-source
-                                              set-syntax-object-module!
-                                              set-syntax-object-wrap!
-                                              set-syntax-object-expression!
-                                              syntax-object-module
-                                              syntax-object-wrap
-                                              syntax-object-expression
-                                              syntax-object?
-                                              make-syntax-object
-                                              build-lexical-var
-                                              build-letrec
-                                              build-named-let
-                                              build-let
-                                              build-sequence
-                                              build-data
-                                              build-primref
-                                              build-primcall
-                                              build-lambda-case
-                                              build-case-lambda
-                                              build-simple-lambda
-                                              build-global-definition
-                                              build-global-assignment
-                                              build-global-reference
-                                              analyze-variable
-                                              build-lexical-assignment
-                                              build-lexical-reference
-                                              build-dynlet
-                                              build-conditional
-                                              build-call
-                                              build-void
-                                              maybe-name-value!
-                                              decorate-source
-                                              get-global-definition-hook
-                                              put-global-definition-hook
-                                              gensym-hook
-                                              local-eval-hook
-                                              top-level-eval-hook
-                                              fx<
-                                              fx=
-                                              fx-
-                                              fx+
-                                              set-lambda-meta!
-                                              lambda-meta
-                                              lambda?
-                                              make-dynlet
-                                              make-letrec
-                                              make-let
-                                              make-lambda-case
-                                              make-lambda
-                                              make-sequence
-                                              make-primcall
-                                              make-call
-                                              make-conditional
-                                              make-toplevel-define
-                                              make-toplevel-set
-                                              make-toplevel-ref
-                                              make-module-set
-                                              make-module-ref
-                                              make-lexical-set
-                                              make-lexical-ref
-                                              make-primitive-ref
-                                              make-const
-                                              make-void)
-                                            ((top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top)
-                                             (top))
-                                            ("i452"
-                                             "i450"
-                                             "i448"
-                                             "i446"
-                                             "i444"
-                                             "i442"
-                                             "i440"
-                                             "i438"
-                                             "i436"
-                                             "i434"
-                                             "i432"
-                                             "i430"
-                                             "i428"
-                                             "i426"
-                                             "i424"
-                                             "i422"
-                                             "i420"
-                                             "i418"
-                                             "i416"
-                                             "i414"
-                                             "i412"
-                                             "i410"
-                                             "i408"
-                                             "i406"
-                                             "i404"
-                                             "i402"
-                                             "i400"
-                                             "i398"
-                                             "i396"
-                                             "i394"
-                                             "i392"
-                                             "i390"
-                                             "i388"
-                                             "i386"
-                                             "i384"
-                                             "i383"
-                                             "i382"
-                                             "i380"
-                                             "i379"
-                                             "i378"
-                                             "i377"
-                                             "i376"
-                                             "i374"
-                                             "i372"
-                                             "i370"
-                                             "i368"
-                                             "i366"
-                                             "i364"
-                                             "i362"
-                                             "i360"
-                                             "i357"
-                                             "i355"
-                                             "i354"
-                                             "i353"
-                                             "i352"
-                                             "i351"
-                                             "i350"
-                                             "i349"
-                                             "i348"
-                                             "i347"
-                                             "i345"
-                                             "i344"
-                                             "i342"
-                                             "i340"
-                                             "i338"
-                                             "i336"
-                                             "i334"
-                                             "i332"
-                                             "i330"
-                                             "i329"
-                                             "i328"
-                                             "i327"
-                                             "i326"
-                                             "i325"
-                                             "i323"
-                                             "i322"
-                                             "i320"
-                                             "i318"
-                                             "i316"
-                                             "i314"
-                                             "i312"
-                                             "i310"
-                                             "i308"
-                                             "i306"
-                                             "i304"
-                                             "i302"
-                                             "i300"
-                                             "i298"
-                                             "i296"
-                                             "i294"
-                                             "i292"
-                                             "i290"
-                                             "i288"
-                                             "i286"
-                                             "i284"
-                                             "i282"
-                                             "i280"
-                                             "i278"
-                                             "i276"
-                                             "i274"
-                                             "i272"
-                                             "i270"
-                                             "i268"
-                                             "i266"
-                                             "i264"
-                                             "i262"
-                                             "i260"
-                                             "i258"
-                                             "i256"
-                                             "i255"
-                                             "i253"
-                                             "i251"
-                                             "i250"
-                                             "i249"
-                                             "i248"
-                                             "i247"
-                                             "i245"
-                                             "i243"
-                                             "i241"
-                                             "i238"
-                                             "i236"
-                                             "i234"
-                                             "i232"
-                                             "i230"
-                                             "i228"
-                                             "i226"
-                                             "i224"
-                                             "i222"
-                                             "i220"
-                                             "i218"
-                                             "i216"
-                                             "i214"
-                                             "i212"
-                                             "i210"
-                                             "i208"
-                                             "i206"
-                                             "i204"
-                                             "i202"))
-                                          #(ribcage
-                                            (define-structure
-                                              define-expansion-accessors
-                                              define-expansion-constructors)
-                                            ((top) (top) (top))
-                                            ("i40" "i39" "i38")))
-                                         (hygiene guile)))
-                                  'eval
-                                  (if (#{free-id=? 399}#
-                                        #{x 1750}#
-                                        '#(syntax-object
-                                           expand
-                                           ((top)
-                                            #(ribcage () () ())
-                                            #(ribcage () () ())
-                                            #(ribcage () () ())
-                                            #(ribcage #(x) #((top)) #("i1749"))
-                                            #(ribcage () () ())
-                                            #(ribcage
-                                              #(f when-list situations)
-                                              #((top) (top) (top))
-                                              #("i1743" "i1744" "i1745"))
-                                            #(ribcage () () ())
-                                            #(ribcage
-                                              #(e when-list w)
-                                              #((top) (top) (top))
-                                              #("i1740" "i1741" "i1742"))
-                                            #(ribcage
-                                              (lambda-var-list
-                                                gen-var
-                                                strip
-                                                chi-lambda-case
-                                                lambda*-formals
-                                                chi-simple-lambda
-                                                lambda-formals
-                                                ellipsis?
-                                                chi-void
-                                                eval-local-transformer
-                                                chi-local-syntax
-                                                chi-body
-                                                chi-macro
-                                                chi-call
-                                                chi-expr
-                                                chi
-                                                syntax-type
-                                                chi-when-list
-                                                chi-install-global
-                                                chi-top-sequence
-                                                chi-sequence
-                                                source-wrap
-                                                wrap
-                                                bound-id-member?
-                                                distinct-bound-ids?
-                                                valid-bound-ids?
-                                                bound-id=?
-                                                free-id=?
-                                                id-var-name
-                                                same-marks?
-                                                join-marks
-                                                join-wraps
-                                                smart-append
-                                                make-binding-wrap
-                                                extend-ribcage!
-                                                make-empty-ribcage
-                                                new-mark
-                                                anti-mark
-                                                the-anti-mark
-                                                top-marked?
-                                                top-wrap
-                                                empty-wrap
-                                                set-ribcage-labels!
-                                                set-ribcage-marks!
-                                                set-ribcage-symnames!
-                                                ribcage-labels
-                                                ribcage-marks
-                                                ribcage-symnames
-                                                ribcage?
-                                                make-ribcage
-                                                gen-labels
-                                                gen-label
-                                                make-rename
-                                                rename-marks
-                                                rename-new
-                                                rename-old
-                                                subst-rename?
-                                                wrap-subst
-                                                wrap-marks
-                                                make-wrap
-                                                id-sym-name&marks
-                                                id-sym-name
-                                                id?
-                                                nonsymbol-id?
-                                                global-extend
-                                                lookup
-                                                macros-only-env
-                                                extend-var-env
-                                                extend-env
-                                                null-env
-                                                binding-value
-                                                binding-type
-                                                make-binding
-                                                arg-check
-                                                source-annotation
-                                                no-source
-                                                set-syntax-object-module!
-                                                set-syntax-object-wrap!
-                                                set-syntax-object-expression!
-                                                syntax-object-module
-                                                syntax-object-wrap
-                                                syntax-object-expression
-                                                syntax-object?
-                                                make-syntax-object
-                                                build-lexical-var
-                                                build-letrec
-                                                build-named-let
-                                                build-let
-                                                build-sequence
-                                                build-data
-                                                build-primref
-                                                build-primcall
-                                                build-lambda-case
-                                                build-case-lambda
-                                                build-simple-lambda
-                                                build-global-definition
-                                                build-global-assignment
-                                                build-global-reference
-                                                analyze-variable
-                                                build-lexical-assignment
-                                                build-lexical-reference
-                                                build-dynlet
-                                                build-conditional
-                                                build-call
-                                                build-void
-                                                maybe-name-value!
-                                                decorate-source
-                                                get-global-definition-hook
-                                                put-global-definition-hook
-                                                gensym-hook
-                                                local-eval-hook
-                                                top-level-eval-hook
-                                                fx<
-                                                fx=
-                                                fx-
-                                                fx+
-                                                set-lambda-meta!
-                                                lambda-meta
-                                                lambda?
-                                                make-dynlet
-                                                make-letrec
-                                                make-let
-                                                make-lambda-case
-                                                make-lambda
-                                                make-sequence
-                                                make-primcall
-                                                make-call
-                                                make-conditional
-                                                make-toplevel-define
-                                                make-toplevel-set
-                                                make-toplevel-ref
-                                                make-module-set
-                                                make-module-ref
-                                                make-lexical-set
-                                                make-lexical-ref
-                                                make-primitive-ref
-                                                make-const
-                                                make-void)
-                                              ((top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top))
-                                              ("i452"
-                                               "i450"
-                                               "i448"
-                                               "i446"
-                                               "i444"
-                                               "i442"
-                                               "i440"
-                                               "i438"
-                                               "i436"
-                                               "i434"
-                                               "i432"
-                                               "i430"
-                                               "i428"
-                                               "i426"
-                                               "i424"
-                                               "i422"
-                                               "i420"
-                                               "i418"
-                                               "i416"
-                                               "i414"
-                                               "i412"
-                                               "i410"
-                                               "i408"
-                                               "i406"
-                                               "i404"
-                                               "i402"
-                                               "i400"
-                                               "i398"
-                                               "i396"
-                                               "i394"
-                                               "i392"
-                                               "i390"
-                                               "i388"
-                                               "i386"
-                                               "i384"
-                                               "i383"
-                                               "i382"
-                                               "i380"
-                                               "i379"
-                                               "i378"
-                                               "i377"
-                                               "i376"
-                                               "i374"
-                                               "i372"
-                                               "i370"
-                                               "i368"
-                                               "i366"
-                                               "i364"
-                                               "i362"
-                                               "i360"
-                                               "i357"
-                                               "i355"
-                                               "i354"
-                                               "i353"
-                                               "i352"
-                                               "i351"
-                                               "i350"
-                                               "i349"
-                                               "i348"
-                                               "i347"
-                                               "i345"
-                                               "i344"
-                                               "i342"
-                                               "i340"
-                                               "i338"
-                                               "i336"
-                                               "i334"
-                                               "i332"
-                                               "i330"
-                                               "i329"
-                                               "i328"
-                                               "i327"
-                                               "i326"
-                                               "i325"
-                                               "i323"
-                                               "i322"
-                                               "i320"
-                                               "i318"
-                                               "i316"
-                                               "i314"
-                                               "i312"
-                                               "i310"
-                                               "i308"
-                                               "i306"
-                                               "i304"
-                                               "i302"
-                                               "i300"
-                                               "i298"
-                                               "i296"
-                                               "i294"
-                                               "i292"
-                                               "i290"
-                                               "i288"
-                                               "i286"
-                                               "i284"
-                                               "i282"
-                                               "i280"
-                                               "i278"
-                                               "i276"
-                                               "i274"
-                                               "i272"
-                                               "i270"
-                                               "i268"
-                                               "i266"
-                                               "i264"
-                                               "i262"
-                                               "i260"
-                                               "i258"
-                                               "i256"
-                                               "i255"
-                                               "i253"
-                                               "i251"
-                                               "i250"
-                                               "i249"
-                                               "i248"
-                                               "i247"
-                                               "i245"
-                                               "i243"
-                                               "i241"
-                                               "i238"
-                                               "i236"
-                                               "i234"
-                                               "i232"
-                                               "i230"
-                                               "i228"
-                                               "i226"
-                                               "i224"
-                                               "i222"
-                                               "i220"
-                                               "i218"
-                                               "i216"
-                                               "i214"
-                                               "i212"
-                                               "i210"
-                                               "i208"
-                                               "i206"
-                                               "i204"
-                                               "i202"))
-                                            #(ribcage
-                                              (define-structure
-                                                define-expansion-accessors
-                                                define-expansion-constructors)
-                                              ((top) (top) (top))
-                                              ("i40" "i39" "i38")))
-                                           (hygiene guile)))
-                                    'expand
-                                    (syntax-violation
-                                      'eval-when
-                                      "invalid situation"
-                                      #{e 1737}#
-                                      (#{wrap 409}#
-                                        #{x 1750}#
-                                        #{w 1739}#
-                                        #f))))))))
-                        #{situations 1748}#))))))
-         (begin (#{f 1746}# #{when-list 1738}# '())))))
-   (#{syntax-type 421}#
-     (lambda (#{e 1760}#
-              #{r 1761}#
-              #{w 1762}#
-              #{s 1763}#
-              #{rib 1764}#
-              #{mod 1765}#
-              #{for-car? 1766}#)
-       (if (symbol? #{e 1760}#)
-         (begin
-           (let ((#{n 1778}#
-                   (#{id-var-name 397}# #{e 1760}# #{w 1762}#)))
-             (begin
-               (let ((#{b 1780}#
-                       (#{lookup 337}#
-                         #{n 1778}#
-                         #{r 1761}#
-                         #{mod 1765}#)))
-                 (begin
-                   (let ((#{type 1782}# (car #{b 1780}#)))
-                     (if (memv #{type 1782}# '(lexical))
-                       (values
-                         #{type 1782}#
-                         (cdr #{b 1780}#)
-                         #{e 1760}#
-                         #{w 1762}#
-                         #{s 1763}#
-                         #{mod 1765}#)
-                       (if (memv #{type 1782}# '(global))
-                         (values
-                           #{type 1782}#
-                           #{n 1778}#
-                           #{e 1760}#
-                           #{w 1762}#
-                           #{s 1763}#
-                           #{mod 1765}#)
-                         (if (memv #{type 1782}# '(macro))
-                           (if #{for-car? 1766}#
-                             (values
-                               #{type 1782}#
-                               (cdr #{b 1780}#)
-                               #{e 1760}#
-                               #{w 1762}#
-                               #{s 1763}#
-                               #{mod 1765}#)
-                             (#{syntax-type 421}#
-                               (#{chi-macro 429}#
-                                 (cdr #{b 1780}#)
-                                 #{e 1760}#
-                                 #{r 1761}#
-                                 #{w 1762}#
-                                 #{s 1763}#
-                                 #{rib 1764}#
-                                 #{mod 1765}#)
-                               #{r 1761}#
-                               '(())
-                               #{s 1763}#
-                               #{rib 1764}#
-                               #{mod 1765}#
-                               #f))
-                           (values
-                             #{type 1782}#
-                             (cdr #{b 1780}#)
-                             #{e 1760}#
-                             #{w 1762}#
-                             #{s 1763}#
-                             #{mod 1765}#))))))))))
-         (if (pair? #{e 1760}#)
-           (begin
-             (let ((#{first 1796}# (car #{e 1760}#)))
-               (call-with-values
-                 (lambda ()
-                   (#{syntax-type 421}#
-                     #{first 1796}#
-                     #{r 1761}#
-                     #{w 1762}#
-                     #{s 1763}#
-                     #{rib 1764}#
-                     #{mod 1765}#
-                     #t))
-                 (lambda (#{ftype 1797}#
-                          #{fval 1798}#
-                          #{fe 1799}#
-                          #{fw 1800}#
-                          #{fs 1801}#
-                          #{fmod 1802}#)
-                   (if (memv #{ftype 1797}# '(lexical))
-                     (values
-                       'lexical-call
-                       #{fval 1798}#
-                       #{e 1760}#
-                       #{w 1762}#
-                       #{s 1763}#
-                       #{mod 1765}#)
-                     (if (memv #{ftype 1797}# '(global))
-                       (values
-                         'global-call
-                         (#{make-syntax-object 307}#
-                           #{fval 1798}#
-                           #{w 1762}#
-                           #{fmod 1802}#)
-                         #{e 1760}#
-                         #{w 1762}#
-                         #{s 1763}#
-                         #{mod 1765}#)
-                       (if (memv #{ftype 1797}# '(macro))
-                         (#{syntax-type 421}#
-                           (#{chi-macro 429}#
-                             #{fval 1798}#
-                             #{e 1760}#
-                             #{r 1761}#
-                             #{w 1762}#
-                             #{s 1763}#
-                             #{rib 1764}#
-                             #{mod 1765}#)
-                           #{r 1761}#
-                           '(())
-                           #{s 1763}#
-                           #{rib 1764}#
-                           #{mod 1765}#
-                           #{for-car? 1766}#)
-                         (if (memv #{ftype 1797}# '(module-ref))
-                           (call-with-values
-                             (lambda ()
-                               (#{fval 1798}#
-                                 #{e 1760}#
-                                 #{r 1761}#
-                                 #{w 1762}#))
-                             (lambda (#{e 1814}#
-                                      #{r 1815}#
-                                      #{w 1816}#
-                                      #{s 1817}#
-                                      #{mod 1818}#)
-                               (#{syntax-type 421}#
-                                 #{e 1814}#
-                                 #{r 1815}#
-                                 #{w 1816}#
-                                 #{s 1817}#
-                                 #{rib 1764}#
-                                 #{mod 1818}#
-                                 #{for-car? 1766}#)))
-                           (if (memv #{ftype 1797}# '(core))
-                             (values
-                               'core-form
-                               #{fval 1798}#
-                               #{e 1760}#
-                               #{w 1762}#
-                               #{s 1763}#
-                               #{mod 1765}#)
-                             (if (memv #{ftype 1797}# '(local-syntax))
-                               (values
-                                 'local-syntax-form
-                                 #{fval 1798}#
-                                 #{e 1760}#
-                                 #{w 1762}#
-                                 #{s 1763}#
-                                 #{mod 1765}#)
-                               (if (memv #{ftype 1797}# '(begin))
-                                 (values
-                                   'begin-form
-                                   #f
-                                   #{e 1760}#
-                                   #{w 1762}#
-                                   #{s 1763}#
-                                   #{mod 1765}#)
-                                 (if (memv #{ftype 1797}# '(eval-when))
-                                   (values
-                                     'eval-when-form
-                                     #f
-                                     #{e 1760}#
-                                     #{w 1762}#
-                                     #{s 1763}#
-                                     #{mod 1765}#)
-                                   (if (memv #{ftype 1797}# '(define))
-                                     (let ((#{tmp 1829}# #{e 1760}#))
-                                       (let ((#{tmp 1830}#
-                                               ($sc-dispatch
-                                                 #{tmp 1829}#
-                                                 '(_ any any))))
-                                         (if (if #{tmp 1830}#
-                                               (@apply
-                                                 (lambda (#{name 1833}#
-                                                          #{val 1834}#)
-                                                   (#{id? 343}# #{name 1833}#))
-                                                 #{tmp 1830}#)
-                                               #f)
-                                           (@apply
-                                             (lambda (#{name 1837}#
-                                                      #{val 1838}#)
-                                               (values
-                                                 'define-form
-                                                 #{name 1837}#
-                                                 #{val 1838}#
-                                                 #{w 1762}#
-                                                 #{s 1763}#
-                                                 #{mod 1765}#))
-                                             #{tmp 1830}#)
-                                           (let ((#{tmp 1839}#
-                                                   ($sc-dispatch
-                                                     #{tmp 1829}#
-                                                     '(_ (any . any)
-                                                         any
-                                                         .
-                                                         each-any))))
-                                             (if (if #{tmp 1839}#
-                                                   (@apply
-                                                     (lambda (#{name 1844}#
-                                                              #{args 1845}#
-                                                              #{e1 1846}#
-                                                              #{e2 1847}#)
-                                                       (if (#{id? 343}#
-                                                             #{name 1844}#)
-                                                         (#{valid-bound-ids? 
403}#
-                                                           (#{lambda-var-list 
453}#
-                                                             #{args 1845}#))
-                                                         #f))
-                                                     #{tmp 1839}#)
-                                                   #f)
-                                               (@apply
-                                                 (lambda (#{name 1854}#
-                                                          #{args 1855}#
-                                                          #{e1 1856}#
-                                                          #{e2 1857}#)
-                                                   (values
-                                                     'define-form
-                                                     (#{wrap 409}#
-                                                       #{name 1854}#
-                                                       #{w 1762}#
-                                                       #{mod 1765}#)
-                                                     (#{decorate-source 261}#
-                                                       (cons '#(syntax-object
-                                                                lambda
-                                                                ((top)
-                                                                 #(ribcage
-                                                                   #(name
-                                                                     args
-                                                                     e1
-                                                                     e2)
-                                                                   #((top)
-                                                                     (top)
-                                                                     (top)
-                                                                     (top))
-                                                                   #("i1850"
-                                                                     "i1851"
-                                                                     "i1852"
-                                                                     "i1853"))
-                                                                 #(ribcage
-                                                                   ()
-                                                                   ()
-                                                                   ())
-                                                                 #(ribcage
-                                                                   ()
-                                                                   ()
-                                                                   ())
-                                                                 #(ribcage
-                                                                   #(ftype
-                                                                     fval
-                                                                     fe
-                                                                     fw
-                                                                     fs
-                                                                     fmod)
-                                                                   #((top)
-                                                                     (top)
-                                                                     (top)
-                                                                     (top)
-                                                                     (top)
-                                                                     (top))
-                                                                   #("i1803"
-                                                                     "i1804"
-                                                                     "i1805"
-                                                                     "i1806"
-                                                                     "i1807"
-                                                                     "i1808"))
-                                                                 #(ribcage
-                                                                   ()
-                                                                   ()
-                                                                   ())
-                                                                 #(ribcage
-                                                                   #(first)
-                                                                   #((top))
-                                                                   #("i1795"))
-                                                                 #(ribcage
-                                                                   ()
-                                                                   ()
-                                                                   ())
-                                                                 #(ribcage
-                                                                   ()
-                                                                   ()
-                                                                   ())
-                                                                 #(ribcage
-                                                                   ()
-                                                                   ()
-                                                                   ())
-                                                                 #(ribcage
-                                                                   #(e
-                                                                     r
-                                                                     w
-                                                                     s
-                                                                     rib
-                                                                     mod
-                                                                     for-car?)
-                                                                   #((top)
-                                                                     (top)
-                                                                     (top)
-                                                                     (top)
-                                                                     (top)
-                                                                     (top)
-                                                                     (top))
-                                                                   #("i1767"
-                                                                     "i1768"
-                                                                     "i1769"
-                                                                     "i1770"
-                                                                     "i1771"
-                                                                     "i1772"
-                                                                     "i1773"))
-                                                                 #(ribcage
-                                                                   
(lambda-var-list
-                                                                     gen-var
-                                                                     strip
-                                                                     
chi-lambda-case
-                                                                     
lambda*-formals
-                                                                     
chi-simple-lambda
-                                                                     
lambda-formals
-                                                                     ellipsis?
-                                                                     chi-void
-                                                                     
eval-local-transformer
-                                                                     
chi-local-syntax
-                                                                     chi-body
-                                                                     chi-macro
-                                                                     chi-call
-                                                                     chi-expr
-                                                                     chi
-                                                                     
syntax-type
-                                                                     
chi-when-list
-                                                                     
chi-install-global
-                                                                     
chi-top-sequence
-                                                                     
chi-sequence
-                                                                     
source-wrap
-                                                                     wrap
-                                                                     
bound-id-member?
-                                                                     
distinct-bound-ids?
-                                                                     
valid-bound-ids?
-                                                                     bound-id=?
-                                                                     free-id=?
-                                                                     
id-var-name
-                                                                     
same-marks?
-                                                                     join-marks
-                                                                     join-wraps
-                                                                     
smart-append
-                                                                     
make-binding-wrap
-                                                                     
extend-ribcage!
-                                                                     
make-empty-ribcage
-                                                                     new-mark
-                                                                     anti-mark
-                                                                     
the-anti-mark
-                                                                     
top-marked?
-                                                                     top-wrap
-                                                                     empty-wrap
-                                                                     
set-ribcage-labels!
-                                                                     
set-ribcage-marks!
-                                                                     
set-ribcage-symnames!
-                                                                     
ribcage-labels
-                                                                     
ribcage-marks
-                                                                     
ribcage-symnames
-                                                                     ribcage?
-                                                                     
make-ribcage
-                                                                     gen-labels
-                                                                     gen-label
-                                                                     
make-rename
-                                                                     
rename-marks
-                                                                     rename-new
-                                                                     rename-old
-                                                                     
subst-rename?
-                                                                     wrap-subst
-                                                                     wrap-marks
-                                                                     make-wrap
-                                                                     
id-sym-name&marks
-                                                                     
id-sym-name
-                                                                     id?
-                                                                     
nonsymbol-id?
-                                                                     
global-extend
-                                                                     lookup
-                                                                     
macros-only-env
-                                                                     
extend-var-env
-                                                                     extend-env
-                                                                     null-env
-                                                                     
binding-value
-                                                                     
binding-type
-                                                                     
make-binding
-                                                                     arg-check
-                                                                     
source-annotation
-                                                                     no-source
-                                                                     
set-syntax-object-module!
-                                                                     
set-syntax-object-wrap!
-                                                                     
set-syntax-object-expression!
-                                                                     
syntax-object-module
-                                                                     
syntax-object-wrap
-                                                                     
syntax-object-expression
-                                                                     
syntax-object?
-                                                                     
make-syntax-object
-                                                                     
build-lexical-var
-                                                                     
build-letrec
-                                                                     
build-named-let
-                                                                     build-let
-                                                                     
build-sequence
-                                                                     build-data
-                                                                     
build-primref
-                                                                     
build-primcall
-                                                                     
build-lambda-case
-                                                                     
build-case-lambda
-                                                                     
build-simple-lambda
-                                                                     
build-global-definition
-                                                                     
build-global-assignment
-                                                                     
build-global-reference
-                                                                     
analyze-variable
-                                                                     
build-lexical-assignment
-                                                                     
build-lexical-reference
-                                                                     
build-dynlet
-                                                                     
build-conditional
-                                                                     build-call
-                                                                     build-void
-                                                                     
maybe-name-value!
-                                                                     
decorate-source
-                                                                     
get-global-definition-hook
-                                                                     
put-global-definition-hook
-                                                                     
gensym-hook
-                                                                     
local-eval-hook
-                                                                     
top-level-eval-hook
-                                                                     fx<
-                                                                     fx=
-                                                                     fx-
-                                                                     fx+
-                                                                     
set-lambda-meta!
-                                                                     
lambda-meta
-                                                                     lambda?
-                                                                     
make-dynlet
-                                                                     
make-letrec
-                                                                     make-let
-                                                                     
make-lambda-case
-                                                                     
make-lambda
-                                                                     
make-sequence
-                                                                     
make-primcall
-                                                                     make-call
-                                                                     
make-conditional
-                                                                     
make-toplevel-define
-                                                                     
make-toplevel-set
-                                                                     
make-toplevel-ref
-                                                                     
make-module-set
-                                                                     
make-module-ref
-                                                                     
make-lexical-set
-                                                                     
make-lexical-ref
-                                                                     
make-primitive-ref
-                                                                     make-const
-                                                                     make-void)
-                                                                   ((top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top))
-                                                                   ("i452"
-                                                                    "i450"
-                                                                    "i448"
-                                                                    "i446"
-                                                                    "i444"
-                                                                    "i442"
-                                                                    "i440"
-                                                                    "i438"
-                                                                    "i436"
-                                                                    "i434"
-                                                                    "i432"
-                                                                    "i430"
-                                                                    "i428"
-                                                                    "i426"
-                                                                    "i424"
-                                                                    "i422"
-                                                                    "i420"
-                                                                    "i418"
-                                                                    "i416"
-                                                                    "i414"
-                                                                    "i412"
-                                                                    "i410"
-                                                                    "i408"
-                                                                    "i406"
-                                                                    "i404"
-                                                                    "i402"
-                                                                    "i400"
-                                                                    "i398"
-                                                                    "i396"
-                                                                    "i394"
-                                                                    "i392"
-                                                                    "i390"
-                                                                    "i388"
-                                                                    "i386"
-                                                                    "i384"
-                                                                    "i383"
-                                                                    "i382"
-                                                                    "i380"
-                                                                    "i379"
-                                                                    "i378"
-                                                                    "i377"
-                                                                    "i376"
-                                                                    "i374"
-                                                                    "i372"
-                                                                    "i370"
-                                                                    "i368"
-                                                                    "i366"
-                                                                    "i364"
-                                                                    "i362"
-                                                                    "i360"
-                                                                    "i357"
-                                                                    "i355"
-                                                                    "i354"
-                                                                    "i353"
-                                                                    "i352"
-                                                                    "i351"
-                                                                    "i350"
-                                                                    "i349"
-                                                                    "i348"
-                                                                    "i347"
-                                                                    "i345"
-                                                                    "i344"
-                                                                    "i342"
-                                                                    "i340"
-                                                                    "i338"
-                                                                    "i336"
-                                                                    "i334"
-                                                                    "i332"
-                                                                    "i330"
-                                                                    "i329"
-                                                                    "i328"
-                                                                    "i327"
-                                                                    "i326"
-                                                                    "i325"
-                                                                    "i323"
-                                                                    "i322"
-                                                                    "i320"
-                                                                    "i318"
-                                                                    "i316"
-                                                                    "i314"
-                                                                    "i312"
-                                                                    "i310"
-                                                                    "i308"
-                                                                    "i306"
-                                                                    "i304"
-                                                                    "i302"
-                                                                    "i300"
-                                                                    "i298"
-                                                                    "i296"
-                                                                    "i294"
-                                                                    "i292"
-                                                                    "i290"
-                                                                    "i288"
-                                                                    "i286"
-                                                                    "i284"
-                                                                    "i282"
-                                                                    "i280"
-                                                                    "i278"
-                                                                    "i276"
-                                                                    "i274"
-                                                                    "i272"
-                                                                    "i270"
-                                                                    "i268"
-                                                                    "i266"
-                                                                    "i264"
-                                                                    "i262"
-                                                                    "i260"
-                                                                    "i258"
-                                                                    "i256"
-                                                                    "i255"
-                                                                    "i253"
-                                                                    "i251"
-                                                                    "i250"
-                                                                    "i249"
-                                                                    "i248"
-                                                                    "i247"
-                                                                    "i245"
-                                                                    "i243"
-                                                                    "i241"
-                                                                    "i238"
-                                                                    "i236"
-                                                                    "i234"
-                                                                    "i232"
-                                                                    "i230"
-                                                                    "i228"
-                                                                    "i226"
-                                                                    "i224"
-                                                                    "i222"
-                                                                    "i220"
-                                                                    "i218"
-                                                                    "i216"
-                                                                    "i214"
-                                                                    "i212"
-                                                                    "i210"
-                                                                    "i208"
-                                                                    "i206"
-                                                                    "i204"
-                                                                    "i202"))
-                                                                 #(ribcage
-                                                                   
(define-structure
-                                                                     
define-expansion-accessors
-                                                                     
define-expansion-constructors)
-                                                                   ((top)
-                                                                    (top)
-                                                                    (top))
-                                                                   ("i40"
-                                                                    "i39"
-                                                                    "i38")))
-                                                                (hygiene
-                                                                  guile))
-                                                             (#{wrap 409}#
-                                                               (cons #{args 
1855}#
-                                                                     (cons 
#{e1 1856}#
-                                                                           
#{e2 1857}#))
-                                                               #{w 1762}#
-                                                               #{mod 1765}#))
-                                                       #{s 1763}#)
-                                                     '(())
-                                                     #{s 1763}#
-                                                     #{mod 1765}#))
-                                                 #{tmp 1839}#)
-                                               (let ((#{tmp 1860}#
-                                                       ($sc-dispatch
-                                                         #{tmp 1829}#
-                                                         '(_ any))))
-                                                 (if (if #{tmp 1860}#
-                                                       (@apply
-                                                         (lambda (#{name 
1862}#)
-                                                           (#{id? 343}#
-                                                             #{name 1862}#))
-                                                         #{tmp 1860}#)
-                                                       #f)
-                                                   (@apply
-                                                     (lambda (#{name 1864}#)
-                                                       (values
-                                                         'define-form
-                                                         (#{wrap 409}#
-                                                           #{name 1864}#
-                                                           #{w 1762}#
-                                                           #{mod 1765}#)
-                                                         '(#(syntax-object
-                                                             if
-                                                             ((top)
-                                                              #(ribcage
-                                                                #(name)
-                                                                #((top))
-                                                                #("i1863"))
-                                                              #(ribcage
-                                                                ()
-                                                                ()
-                                                                ())
-                                                              #(ribcage
-                                                                ()
-                                                                ()
-                                                                ())
-                                                              #(ribcage
-                                                                #(ftype
-                                                                  fval
-                                                                  fe
-                                                                  fw
-                                                                  fs
-                                                                  fmod)
-                                                                #((top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top))
-                                                                #("i1803"
-                                                                  "i1804"
-                                                                  "i1805"
-                                                                  "i1806"
-                                                                  "i1807"
-                                                                  "i1808"))
-                                                              #(ribcage
-                                                                ()
-                                                                ()
-                                                                ())
-                                                              #(ribcage
-                                                                #(first)
-                                                                #((top))
-                                                                #("i1795"))
-                                                              #(ribcage
-                                                                ()
-                                                                ()
-                                                                ())
-                                                              #(ribcage
-                                                                ()
-                                                                ()
-                                                                ())
-                                                              #(ribcage
-                                                                ()
-                                                                ()
-                                                                ())
-                                                              #(ribcage
-                                                                #(e
-                                                                  r
-                                                                  w
-                                                                  s
-                                                                  rib
-                                                                  mod
-                                                                  for-car?)
-                                                                #((top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top))
-                                                                #("i1767"
-                                                                  "i1768"
-                                                                  "i1769"
-                                                                  "i1770"
-                                                                  "i1771"
-                                                                  "i1772"
-                                                                  "i1773"))
-                                                              #(ribcage
-                                                                
(lambda-var-list
-                                                                  gen-var
-                                                                  strip
-                                                                  
chi-lambda-case
-                                                                  
lambda*-formals
-                                                                  
chi-simple-lambda
-                                                                  
lambda-formals
-                                                                  ellipsis?
-                                                                  chi-void
-                                                                  
eval-local-transformer
-                                                                  
chi-local-syntax
-                                                                  chi-body
-                                                                  chi-macro
-                                                                  chi-call
-                                                                  chi-expr
-                                                                  chi
-                                                                  syntax-type
-                                                                  chi-when-list
-                                                                  
chi-install-global
-                                                                  
chi-top-sequence
-                                                                  chi-sequence
-                                                                  source-wrap
-                                                                  wrap
-                                                                  
bound-id-member?
-                                                                  
distinct-bound-ids?
-                                                                  
valid-bound-ids?
-                                                                  bound-id=?
-                                                                  free-id=?
-                                                                  id-var-name
-                                                                  same-marks?
-                                                                  join-marks
-                                                                  join-wraps
-                                                                  smart-append
-                                                                  
make-binding-wrap
-                                                                  
extend-ribcage!
-                                                                  
make-empty-ribcage
-                                                                  new-mark
-                                                                  anti-mark
-                                                                  the-anti-mark
-                                                                  top-marked?
-                                                                  top-wrap
-                                                                  empty-wrap
-                                                                  
set-ribcage-labels!
-                                                                  
set-ribcage-marks!
-                                                                  
set-ribcage-symnames!
-                                                                  
ribcage-labels
-                                                                  ribcage-marks
-                                                                  
ribcage-symnames
-                                                                  ribcage?
-                                                                  make-ribcage
-                                                                  gen-labels
-                                                                  gen-label
-                                                                  make-rename
-                                                                  rename-marks
-                                                                  rename-new
-                                                                  rename-old
-                                                                  subst-rename?
-                                                                  wrap-subst
-                                                                  wrap-marks
-                                                                  make-wrap
-                                                                  
id-sym-name&marks
-                                                                  id-sym-name
-                                                                  id?
-                                                                  nonsymbol-id?
-                                                                  global-extend
-                                                                  lookup
-                                                                  
macros-only-env
-                                                                  
extend-var-env
-                                                                  extend-env
-                                                                  null-env
-                                                                  binding-value
-                                                                  binding-type
-                                                                  make-binding
-                                                                  arg-check
-                                                                  
source-annotation
-                                                                  no-source
-                                                                  
set-syntax-object-module!
-                                                                  
set-syntax-object-wrap!
-                                                                  
set-syntax-object-expression!
-                                                                  
syntax-object-module
-                                                                  
syntax-object-wrap
-                                                                  
syntax-object-expression
-                                                                  
syntax-object?
-                                                                  
make-syntax-object
-                                                                  
build-lexical-var
-                                                                  build-letrec
-                                                                  
build-named-let
-                                                                  build-let
-                                                                  
build-sequence
-                                                                  build-data
-                                                                  build-primref
-                                                                  
build-primcall
-                                                                  
build-lambda-case
-                                                                  
build-case-lambda
-                                                                  
build-simple-lambda
-                                                                  
build-global-definition
-                                                                  
build-global-assignment
-                                                                  
build-global-reference
-                                                                  
analyze-variable
-                                                                  
build-lexical-assignment
-                                                                  
build-lexical-reference
-                                                                  build-dynlet
-                                                                  
build-conditional
-                                                                  build-call
-                                                                  build-void
-                                                                  
maybe-name-value!
-                                                                  
decorate-source
-                                                                  
get-global-definition-hook
-                                                                  
put-global-definition-hook
-                                                                  gensym-hook
-                                                                  
local-eval-hook
-                                                                  
top-level-eval-hook
-                                                                  fx<
-                                                                  fx=
-                                                                  fx-
-                                                                  fx+
-                                                                  
set-lambda-meta!
-                                                                  lambda-meta
-                                                                  lambda?
-                                                                  make-dynlet
-                                                                  make-letrec
-                                                                  make-let
-                                                                  
make-lambda-case
-                                                                  make-lambda
-                                                                  make-sequence
-                                                                  make-primcall
-                                                                  make-call
-                                                                  
make-conditional
-                                                                  
make-toplevel-define
-                                                                  
make-toplevel-set
-                                                                  
make-toplevel-ref
-                                                                  
make-module-set
-                                                                  
make-module-ref
-                                                                  
make-lexical-set
-                                                                  
make-lexical-ref
-                                                                  
make-primitive-ref
-                                                                  make-const
-                                                                  make-void)
-                                                                ((top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top))
-                                                                ("i452"
-                                                                 "i450"
-                                                                 "i448"
-                                                                 "i446"
-                                                                 "i444"
-                                                                 "i442"
-                                                                 "i440"
-                                                                 "i438"
-                                                                 "i436"
-                                                                 "i434"
-                                                                 "i432"
-                                                                 "i430"
-                                                                 "i428"
-                                                                 "i426"
-                                                                 "i424"
-                                                                 "i422"
-                                                                 "i420"
-                                                                 "i418"
-                                                                 "i416"
-                                                                 "i414"
-                                                                 "i412"
-                                                                 "i410"
-                                                                 "i408"
-                                                                 "i406"
-                                                                 "i404"
-                                                                 "i402"
-                                                                 "i400"
-                                                                 "i398"
-                                                                 "i396"
-                                                                 "i394"
-                                                                 "i392"
-                                                                 "i390"
-                                                                 "i388"
-                                                                 "i386"
-                                                                 "i384"
-                                                                 "i383"
-                                                                 "i382"
-                                                                 "i380"
-                                                                 "i379"
-                                                                 "i378"
-                                                                 "i377"
-                                                                 "i376"
-                                                                 "i374"
-                                                                 "i372"
-                                                                 "i370"
-                                                                 "i368"
-                                                                 "i366"
-                                                                 "i364"
-                                                                 "i362"
-                                                                 "i360"
-                                                                 "i357"
-                                                                 "i355"
-                                                                 "i354"
-                                                                 "i353"
-                                                                 "i352"
-                                                                 "i351"
-                                                                 "i350"
-                                                                 "i349"
-                                                                 "i348"
-                                                                 "i347"
-                                                                 "i345"
-                                                                 "i344"
-                                                                 "i342"
-                                                                 "i340"
-                                                                 "i338"
-                                                                 "i336"
-                                                                 "i334"
-                                                                 "i332"
-                                                                 "i330"
-                                                                 "i329"
-                                                                 "i328"
-                                                                 "i327"
-                                                                 "i326"
-                                                                 "i325"
-                                                                 "i323"
-                                                                 "i322"
-                                                                 "i320"
-                                                                 "i318"
-                                                                 "i316"
-                                                                 "i314"
-                                                                 "i312"
-                                                                 "i310"
-                                                                 "i308"
-                                                                 "i306"
-                                                                 "i304"
-                                                                 "i302"
-                                                                 "i300"
-                                                                 "i298"
-                                                                 "i296"
-                                                                 "i294"
-                                                                 "i292"
-                                                                 "i290"
-                                                                 "i288"
-                                                                 "i286"
-                                                                 "i284"
-                                                                 "i282"
-                                                                 "i280"
-                                                                 "i278"
-                                                                 "i276"
-                                                                 "i274"
-                                                                 "i272"
-                                                                 "i270"
-                                                                 "i268"
-                                                                 "i266"
-                                                                 "i264"
-                                                                 "i262"
-                                                                 "i260"
-                                                                 "i258"
-                                                                 "i256"
-                                                                 "i255"
-                                                                 "i253"
-                                                                 "i251"
-                                                                 "i250"
-                                                                 "i249"
-                                                                 "i248"
-                                                                 "i247"
-                                                                 "i245"
-                                                                 "i243"
-                                                                 "i241"
-                                                                 "i238"
-                                                                 "i236"
-                                                                 "i234"
-                                                                 "i232"
-                                                                 "i230"
-                                                                 "i228"
-                                                                 "i226"
-                                                                 "i224"
-                                                                 "i222"
-                                                                 "i220"
-                                                                 "i218"
-                                                                 "i216"
-                                                                 "i214"
-                                                                 "i212"
-                                                                 "i210"
-                                                                 "i208"
-                                                                 "i206"
-                                                                 "i204"
-                                                                 "i202"))
-                                                              #(ribcage
-                                                                
(define-structure
-                                                                  
define-expansion-accessors
-                                                                  
define-expansion-constructors)
-                                                                ((top)
-                                                                 (top)
-                                                                 (top))
-                                                                ("i40"
-                                                                 "i39"
-                                                                 "i38")))
-                                                             (hygiene guile))
-                                                           #(syntax-object
-                                                             #f
-                                                             ((top)
-                                                              #(ribcage
-                                                                #(name)
-                                                                #((top))
-                                                                #("i1863"))
-                                                              #(ribcage
-                                                                ()
-                                                                ()
-                                                                ())
-                                                              #(ribcage
-                                                                ()
-                                                                ()
-                                                                ())
-                                                              #(ribcage
-                                                                #(ftype
-                                                                  fval
-                                                                  fe
-                                                                  fw
-                                                                  fs
-                                                                  fmod)
-                                                                #((top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top))
-                                                                #("i1803"
-                                                                  "i1804"
-                                                                  "i1805"
-                                                                  "i1806"
-                                                                  "i1807"
-                                                                  "i1808"))
-                                                              #(ribcage
-                                                                ()
-                                                                ()
-                                                                ())
-                                                              #(ribcage
-                                                                #(first)
-                                                                #((top))
-                                                                #("i1795"))
-                                                              #(ribcage
-                                                                ()
-                                                                ()
-                                                                ())
-                                                              #(ribcage
-                                                                ()
-                                                                ()
-                                                                ())
-                                                              #(ribcage
-                                                                ()
-                                                                ()
-                                                                ())
-                                                              #(ribcage
-                                                                #(e
-                                                                  r
-                                                                  w
-                                                                  s
-                                                                  rib
-                                                                  mod
-                                                                  for-car?)
-                                                                #((top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top))
-                                                                #("i1767"
-                                                                  "i1768"
-                                                                  "i1769"
-                                                                  "i1770"
-                                                                  "i1771"
-                                                                  "i1772"
-                                                                  "i1773"))
-                                                              #(ribcage
-                                                                
(lambda-var-list
-                                                                  gen-var
-                                                                  strip
-                                                                  
chi-lambda-case
-                                                                  
lambda*-formals
-                                                                  
chi-simple-lambda
-                                                                  
lambda-formals
-                                                                  ellipsis?
-                                                                  chi-void
-                                                                  
eval-local-transformer
-                                                                  
chi-local-syntax
-                                                                  chi-body
-                                                                  chi-macro
-                                                                  chi-call
-                                                                  chi-expr
-                                                                  chi
-                                                                  syntax-type
-                                                                  chi-when-list
-                                                                  
chi-install-global
-                                                                  
chi-top-sequence
-                                                                  chi-sequence
-                                                                  source-wrap
-                                                                  wrap
-                                                                  
bound-id-member?
-                                                                  
distinct-bound-ids?
-                                                                  
valid-bound-ids?
-                                                                  bound-id=?
-                                                                  free-id=?
-                                                                  id-var-name
-                                                                  same-marks?
-                                                                  join-marks
-                                                                  join-wraps
-                                                                  smart-append
-                                                                  
make-binding-wrap
-                                                                  
extend-ribcage!
-                                                                  
make-empty-ribcage
-                                                                  new-mark
-                                                                  anti-mark
-                                                                  the-anti-mark
-                                                                  top-marked?
-                                                                  top-wrap
-                                                                  empty-wrap
-                                                                  
set-ribcage-labels!
-                                                                  
set-ribcage-marks!
-                                                                  
set-ribcage-symnames!
-                                                                  
ribcage-labels
-                                                                  ribcage-marks
-                                                                  
ribcage-symnames
-                                                                  ribcage?
-                                                                  make-ribcage
-                                                                  gen-labels
-                                                                  gen-label
-                                                                  make-rename
-                                                                  rename-marks
-                                                                  rename-new
-                                                                  rename-old
-                                                                  subst-rename?
-                                                                  wrap-subst
-                                                                  wrap-marks
-                                                                  make-wrap
-                                                                  
id-sym-name&marks
-                                                                  id-sym-name
-                                                                  id?
-                                                                  nonsymbol-id?
-                                                                  global-extend
-                                                                  lookup
-                                                                  
macros-only-env
-                                                                  
extend-var-env
-                                                                  extend-env
-                                                                  null-env
-                                                                  binding-value
-                                                                  binding-type
-                                                                  make-binding
-                                                                  arg-check
-                                                                  
source-annotation
-                                                                  no-source
-                                                                  
set-syntax-object-module!
-                                                                  
set-syntax-object-wrap!
-                                                                  
set-syntax-object-expression!
-                                                                  
syntax-object-module
-                                                                  
syntax-object-wrap
-                                                                  
syntax-object-expression
-                                                                  
syntax-object?
-                                                                  
make-syntax-object
-                                                                  
build-lexical-var
-                                                                  build-letrec
-                                                                  
build-named-let
-                                                                  build-let
-                                                                  
build-sequence
-                                                                  build-data
-                                                                  build-primref
-                                                                  
build-primcall
-                                                                  
build-lambda-case
-                                                                  
build-case-lambda
-                                                                  
build-simple-lambda
-                                                                  
build-global-definition
-                                                                  
build-global-assignment
-                                                                  
build-global-reference
-                                                                  
analyze-variable
-                                                                  
build-lexical-assignment
-                                                                  
build-lexical-reference
-                                                                  build-dynlet
-                                                                  
build-conditional
-                                                                  build-call
-                                                                  build-void
-                                                                  
maybe-name-value!
-                                                                  
decorate-source
-                                                                  
get-global-definition-hook
-                                                                  
put-global-definition-hook
-                                                                  gensym-hook
-                                                                  
local-eval-hook
-                                                                  
top-level-eval-hook
-                                                                  fx<
-                                                                  fx=
-                                                                  fx-
-                                                                  fx+
-                                                                  
set-lambda-meta!
-                                                                  lambda-meta
-                                                                  lambda?
-                                                                  make-dynlet
-                                                                  make-letrec
-                                                                  make-let
-                                                                  
make-lambda-case
-                                                                  make-lambda
-                                                                  make-sequence
-                                                                  make-primcall
-                                                                  make-call
-                                                                  
make-conditional
-                                                                  
make-toplevel-define
-                                                                  
make-toplevel-set
-                                                                  
make-toplevel-ref
-                                                                  
make-module-set
-                                                                  
make-module-ref
-                                                                  
make-lexical-set
-                                                                  
make-lexical-ref
-                                                                  
make-primitive-ref
-                                                                  make-const
-                                                                  make-void)
-                                                                ((top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top))
-                                                                ("i452"
-                                                                 "i450"
-                                                                 "i448"
-                                                                 "i446"
-                                                                 "i444"
-                                                                 "i442"
-                                                                 "i440"
-                                                                 "i438"
-                                                                 "i436"
-                                                                 "i434"
-                                                                 "i432"
-                                                                 "i430"
-                                                                 "i428"
-                                                                 "i426"
-                                                                 "i424"
-                                                                 "i422"
-                                                                 "i420"
-                                                                 "i418"
-                                                                 "i416"
-                                                                 "i414"
-                                                                 "i412"
-                                                                 "i410"
-                                                                 "i408"
-                                                                 "i406"
-                                                                 "i404"
-                                                                 "i402"
-                                                                 "i400"
-                                                                 "i398"
-                                                                 "i396"
-                                                                 "i394"
-                                                                 "i392"
-                                                                 "i390"
-                                                                 "i388"
-                                                                 "i386"
-                                                                 "i384"
-                                                                 "i383"
-                                                                 "i382"
-                                                                 "i380"
-                                                                 "i379"
-                                                                 "i378"
-                                                                 "i377"
-                                                                 "i376"
-                                                                 "i374"
-                                                                 "i372"
-                                                                 "i370"
-                                                                 "i368"
-                                                                 "i366"
-                                                                 "i364"
-                                                                 "i362"
-                                                                 "i360"
-                                                                 "i357"
-                                                                 "i355"
-                                                                 "i354"
-                                                                 "i353"
-                                                                 "i352"
-                                                                 "i351"
-                                                                 "i350"
-                                                                 "i349"
-                                                                 "i348"
-                                                                 "i347"
-                                                                 "i345"
-                                                                 "i344"
-                                                                 "i342"
-                                                                 "i340"
-                                                                 "i338"
-                                                                 "i336"
-                                                                 "i334"
-                                                                 "i332"
-                                                                 "i330"
-                                                                 "i329"
-                                                                 "i328"
-                                                                 "i327"
-                                                                 "i326"
-                                                                 "i325"
-                                                                 "i323"
-                                                                 "i322"
-                                                                 "i320"
-                                                                 "i318"
-                                                                 "i316"
-                                                                 "i314"
-                                                                 "i312"
-                                                                 "i310"
-                                                                 "i308"
-                                                                 "i306"
-                                                                 "i304"
-                                                                 "i302"
-                                                                 "i300"
-                                                                 "i298"
-                                                                 "i296"
-                                                                 "i294"
-                                                                 "i292"
-                                                                 "i290"
-                                                                 "i288"
-                                                                 "i286"
-                                                                 "i284"
-                                                                 "i282"
-                                                                 "i280"
-                                                                 "i278"
-                                                                 "i276"
-                                                                 "i274"
-                                                                 "i272"
-                                                                 "i270"
-                                                                 "i268"
-                                                                 "i266"
-                                                                 "i264"
-                                                                 "i262"
-                                                                 "i260"
-                                                                 "i258"
-                                                                 "i256"
-                                                                 "i255"
-                                                                 "i253"
-                                                                 "i251"
-                                                                 "i250"
-                                                                 "i249"
-                                                                 "i248"
-                                                                 "i247"
-                                                                 "i245"
-                                                                 "i243"
-                                                                 "i241"
-                                                                 "i238"
-                                                                 "i236"
-                                                                 "i234"
-                                                                 "i232"
-                                                                 "i230"
-                                                                 "i228"
-                                                                 "i226"
-                                                                 "i224"
-                                                                 "i222"
-                                                                 "i220"
-                                                                 "i218"
-                                                                 "i216"
-                                                                 "i214"
-                                                                 "i212"
-                                                                 "i210"
-                                                                 "i208"
-                                                                 "i206"
-                                                                 "i204"
-                                                                 "i202"))
-                                                              #(ribcage
-                                                                
(define-structure
-                                                                  
define-expansion-accessors
-                                                                  
define-expansion-constructors)
-                                                                ((top)
-                                                                 (top)
-                                                                 (top))
-                                                                ("i40"
-                                                                 "i39"
-                                                                 "i38")))
-                                                             (hygiene guile))
-                                                           #(syntax-object
-                                                             #f
-                                                             ((top)
-                                                              #(ribcage
-                                                                #(name)
-                                                                #((top))
-                                                                #("i1863"))
-                                                              #(ribcage
-                                                                ()
-                                                                ()
-                                                                ())
-                                                              #(ribcage
-                                                                ()
-                                                                ()
-                                                                ())
-                                                              #(ribcage
-                                                                #(ftype
-                                                                  fval
-                                                                  fe
-                                                                  fw
-                                                                  fs
-                                                                  fmod)
-                                                                #((top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top))
-                                                                #("i1803"
-                                                                  "i1804"
-                                                                  "i1805"
-                                                                  "i1806"
-                                                                  "i1807"
-                                                                  "i1808"))
-                                                              #(ribcage
-                                                                ()
-                                                                ()
-                                                                ())
-                                                              #(ribcage
-                                                                #(first)
-                                                                #((top))
-                                                                #("i1795"))
-                                                              #(ribcage
-                                                                ()
-                                                                ()
-                                                                ())
-                                                              #(ribcage
-                                                                ()
-                                                                ()
-                                                                ())
-                                                              #(ribcage
-                                                                ()
-                                                                ()
-                                                                ())
-                                                              #(ribcage
-                                                                #(e
-                                                                  r
-                                                                  w
-                                                                  s
-                                                                  rib
-                                                                  mod
-                                                                  for-car?)
-                                                                #((top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top)
-                                                                  (top))
-                                                                #("i1767"
-                                                                  "i1768"
-                                                                  "i1769"
-                                                                  "i1770"
-                                                                  "i1771"
-                                                                  "i1772"
-                                                                  "i1773"))
-                                                              #(ribcage
-                                                                
(lambda-var-list
-                                                                  gen-var
-                                                                  strip
-                                                                  
chi-lambda-case
-                                                                  
lambda*-formals
-                                                                  
chi-simple-lambda
-                                                                  
lambda-formals
-                                                                  ellipsis?
-                                                                  chi-void
-                                                                  
eval-local-transformer
-                                                                  
chi-local-syntax
-                                                                  chi-body
-                                                                  chi-macro
-                                                                  chi-call
-                                                                  chi-expr
-                                                                  chi
-                                                                  syntax-type
-                                                                  chi-when-list
-                                                                  
chi-install-global
-                                                                  
chi-top-sequence
-                                                                  chi-sequence
-                                                                  source-wrap
-                                                                  wrap
-                                                                  
bound-id-member?
-                                                                  
distinct-bound-ids?
-                                                                  
valid-bound-ids?
-                                                                  bound-id=?
-                                                                  free-id=?
-                                                                  id-var-name
-                                                                  same-marks?
-                                                                  join-marks
-                                                                  join-wraps
-                                                                  smart-append
-                                                                  
make-binding-wrap
-                                                                  
extend-ribcage!
-                                                                  
make-empty-ribcage
-                                                                  new-mark
-                                                                  anti-mark
-                                                                  the-anti-mark
-                                                                  top-marked?
-                                                                  top-wrap
-                                                                  empty-wrap
-                                                                  
set-ribcage-labels!
-                                                                  
set-ribcage-marks!
-                                                                  
set-ribcage-symnames!
-                                                                  
ribcage-labels
-                                                                  ribcage-marks
-                                                                  
ribcage-symnames
-                                                                  ribcage?
-                                                                  make-ribcage
-                                                                  gen-labels
-                                                                  gen-label
-                                                                  make-rename
-                                                                  rename-marks
-                                                                  rename-new
-                                                                  rename-old
-                                                                  subst-rename?
-                                                                  wrap-subst
-                                                                  wrap-marks
-                                                                  make-wrap
-                                                                  
id-sym-name&marks
-                                                                  id-sym-name
-                                                                  id?
-                                                                  nonsymbol-id?
-                                                                  global-extend
-                                                                  lookup
-                                                                  
macros-only-env
-                                                                  
extend-var-env
-                                                                  extend-env
-                                                                  null-env
-                                                                  binding-value
-                                                                  binding-type
-                                                                  make-binding
-                                                                  arg-check
-                                                                  
source-annotation
-                                                                  no-source
-                                                                  
set-syntax-object-module!
-                                                                  
set-syntax-object-wrap!
-                                                                  
set-syntax-object-expression!
-                                                                  
syntax-object-module
-                                                                  
syntax-object-wrap
-                                                                  
syntax-object-expression
-                                                                  
syntax-object?
-                                                                  
make-syntax-object
-                                                                  
build-lexical-var
-                                                                  build-letrec
-                                                                  
build-named-let
-                                                                  build-let
-                                                                  
build-sequence
-                                                                  build-data
-                                                                  build-primref
-                                                                  
build-primcall
-                                                                  
build-lambda-case
-                                                                  
build-case-lambda
-                                                                  
build-simple-lambda
-                                                                  
build-global-definition
-                                                                  
build-global-assignment
-                                                                  
build-global-reference
-                                                                  
analyze-variable
-                                                                  
build-lexical-assignment
-                                                                  
build-lexical-reference
-                                                                  build-dynlet
-                                                                  
build-conditional
-                                                                  build-call
-                                                                  build-void
-                                                                  
maybe-name-value!
-                                                                  
decorate-source
-                                                                  
get-global-definition-hook
-                                                                  
put-global-definition-hook
-                                                                  gensym-hook
-                                                                  
local-eval-hook
-                                                                  
top-level-eval-hook
-                                                                  fx<
-                                                                  fx=
-                                                                  fx-
-                                                                  fx+
-                                                                  
set-lambda-meta!
-                                                                  lambda-meta
-                                                                  lambda?
-                                                                  make-dynlet
-                                                                  make-letrec
-                                                                  make-let
-                                                                  
make-lambda-case
-                                                                  make-lambda
-                                                                  make-sequence
-                                                                  make-primcall
-                                                                  make-call
-                                                                  
make-conditional
-                                                                  
make-toplevel-define
-                                                                  
make-toplevel-set
-                                                                  
make-toplevel-ref
-                                                                  
make-module-set
-                                                                  
make-module-ref
-                                                                  
make-lexical-set
-                                                                  
make-lexical-ref
-                                                                  
make-primitive-ref
-                                                                  make-const
-                                                                  make-void)
-                                                                ((top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top))
-                                                                ("i452"
-                                                                 "i450"
-                                                                 "i448"
-                                                                 "i446"
-                                                                 "i444"
-                                                                 "i442"
-                                                                 "i440"
-                                                                 "i438"
-                                                                 "i436"
-                                                                 "i434"
-                                                                 "i432"
-                                                                 "i430"
-                                                                 "i428"
-                                                                 "i426"
-                                                                 "i424"
-                                                                 "i422"
-                                                                 "i420"
-                                                                 "i418"
-                                                                 "i416"
-                                                                 "i414"
-                                                                 "i412"
-                                                                 "i410"
-                                                                 "i408"
-                                                                 "i406"
-                                                                 "i404"
-                                                                 "i402"
-                                                                 "i400"
-                                                                 "i398"
-                                                                 "i396"
-                                                                 "i394"
-                                                                 "i392"
-                                                                 "i390"
-                                                                 "i388"
-                                                                 "i386"
-                                                                 "i384"
-                                                                 "i383"
-                                                                 "i382"
-                                                                 "i380"
-                                                                 "i379"
-                                                                 "i378"
-                                                                 "i377"
-                                                                 "i376"
-                                                                 "i374"
-                                                                 "i372"
-                                                                 "i370"
-                                                                 "i368"
-                                                                 "i366"
-                                                                 "i364"
-                                                                 "i362"
-                                                                 "i360"
-                                                                 "i357"
-                                                                 "i355"
-                                                                 "i354"
-                                                                 "i353"
-                                                                 "i352"
-                                                                 "i351"
-                                                                 "i350"
-                                                                 "i349"
-                                                                 "i348"
-                                                                 "i347"
-                                                                 "i345"
-                                                                 "i344"
-                                                                 "i342"
-                                                                 "i340"
-                                                                 "i338"
-                                                                 "i336"
-                                                                 "i334"
-                                                                 "i332"
-                                                                 "i330"
-                                                                 "i329"
-                                                                 "i328"
-                                                                 "i327"
-                                                                 "i326"
-                                                                 "i325"
-                                                                 "i323"
-                                                                 "i322"
-                                                                 "i320"
-                                                                 "i318"
-                                                                 "i316"
-                                                                 "i314"
-                                                                 "i312"
-                                                                 "i310"
-                                                                 "i308"
-                                                                 "i306"
-                                                                 "i304"
-                                                                 "i302"
-                                                                 "i300"
-                                                                 "i298"
-                                                                 "i296"
-                                                                 "i294"
-                                                                 "i292"
-                                                                 "i290"
-                                                                 "i288"
-                                                                 "i286"
-                                                                 "i284"
-                                                                 "i282"
-                                                                 "i280"
-                                                                 "i278"
-                                                                 "i276"
-                                                                 "i274"
-                                                                 "i272"
-                                                                 "i270"
-                                                                 "i268"
-                                                                 "i266"
-                                                                 "i264"
-                                                                 "i262"
-                                                                 "i260"
-                                                                 "i258"
-                                                                 "i256"
-                                                                 "i255"
-                                                                 "i253"
-                                                                 "i251"
-                                                                 "i250"
-                                                                 "i249"
-                                                                 "i248"
-                                                                 "i247"
-                                                                 "i245"
-                                                                 "i243"
-                                                                 "i241"
-                                                                 "i238"
-                                                                 "i236"
-                                                                 "i234"
-                                                                 "i232"
-                                                                 "i230"
-                                                                 "i228"
-                                                                 "i226"
-                                                                 "i224"
-                                                                 "i222"
-                                                                 "i220"
-                                                                 "i218"
-                                                                 "i216"
-                                                                 "i214"
-                                                                 "i212"
-                                                                 "i210"
-                                                                 "i208"
-                                                                 "i206"
-                                                                 "i204"
-                                                                 "i202"))
-                                                              #(ribcage
-                                                                
(define-structure
-                                                                  
define-expansion-accessors
-                                                                  
define-expansion-constructors)
-                                                                ((top)
-                                                                 (top)
-                                                                 (top))
-                                                                ("i40"
-                                                                 "i39"
-                                                                 "i38")))
-                                                             (hygiene guile)))
-                                                         '(())
-                                                         #{s 1763}#
-                                                         #{mod 1765}#))
-                                                     #{tmp 1860}#)
-                                                   (syntax-violation
-                                                     #f
-                                                     "source expression failed 
to match any pattern"
-                                                     #{tmp 1829}#))))))))
-                                     (if (memv #{ftype 1797}# '(define-syntax))
-                                       (let ((#{tmp 1867}# #{e 1760}#))
-                                         (let ((#{tmp 1868}#
-                                                 ($sc-dispatch
-                                                   #{tmp 1867}#
-                                                   '(_ any any))))
-                                           (if (if #{tmp 1868}#
-                                                 (@apply
-                                                   (lambda (#{name 1871}#
-                                                            #{val 1872}#)
-                                                     (#{id? 343}#
-                                                       #{name 1871}#))
-                                                   #{tmp 1868}#)
-                                                 #f)
-                                             (@apply
-                                               (lambda (#{name 1875}#
-                                                        #{val 1876}#)
-                                                 (values
-                                                   'define-syntax-form
-                                                   #{name 1875}#
-                                                   #{val 1876}#
-                                                   #{w 1762}#
-                                                   #{s 1763}#
-                                                   #{mod 1765}#))
-                                               #{tmp 1868}#)
-                                             (syntax-violation
-                                               #f
-                                               "source expression failed to 
match any pattern"
-                                               #{tmp 1867}#))))
-                                       (values
-                                         'call
-                                         #f
-                                         #{e 1760}#
-                                         #{w 1762}#
-                                         #{s 1763}#
-                                         #{mod 1765}#)))))))))))))))
-           (if (#{syntax-object? 309}# #{e 1760}#)
-             (#{syntax-type 421}#
-               (#{syntax-object-expression 311}# #{e 1760}#)
-               #{r 1761}#
-               (#{join-wraps 391}#
-                 #{w 1762}#
-                 (#{syntax-object-wrap 313}# #{e 1760}#))
-               (begin
-                 (let ((#{t 1882}#
-                         (#{source-annotation 324}# #{e 1760}#)))
-                   (if #{t 1882}# #{t 1882}# #{s 1763}#)))
-               #{rib 1764}#
-               (begin
-                 (let ((#{t 1886}#
-                         (#{syntax-object-module 315}# #{e 1760}#)))
-                   (if #{t 1886}# #{t 1886}# #{mod 1765}#)))
-               #{for-car? 1766}#)
-             (if (self-evaluating? #{e 1760}#)
-               (values
-                 'constant
-                 #f
-                 #{e 1760}#
-                 #{w 1762}#
-                 #{s 1763}#
-                 #{mod 1765}#)
-               (values
-                 'other
-                 #f
-                 #{e 1760}#
-                 #{w 1762}#
-                 #{s 1763}#
-                 #{mod 1765}#)))))))
-   (#{chi 423}#
-     (lambda (#{e 1891}# #{r 1892}# #{w 1893}# #{mod 1894}#)
-       (call-with-values
-         (lambda ()
-           (#{syntax-type 421}#
-             #{e 1891}#
-             #{r 1892}#
-             #{w 1893}#
-             (#{source-annotation 324}# #{e 1891}#)
-             #f
-             #{mod 1894}#
-             #f))
-         (lambda (#{type 1899}#
-                  #{value 1900}#
-                  #{e 1901}#
-                  #{w 1902}#
-                  #{s 1903}#
-                  #{mod 1904}#)
-           (#{chi-expr 425}#
-             #{type 1899}#
-             #{value 1900}#
-             #{e 1901}#
-             #{r 1892}#
-             #{w 1902}#
-             #{s 1903}#
-             #{mod 1904}#)))))
-   (#{chi-expr 425}#
-     (lambda (#{type 1911}#
-              #{value 1912}#
-              #{e 1913}#
-              #{r 1914}#
-              #{w 1915}#
-              #{s 1916}#
-              #{mod 1917}#)
-       (if (memv #{type 1911}# '(lexical))
-         (#{build-lexical-reference 273}#
-           'value
-           #{s 1916}#
-           #{e 1913}#
-           #{value 1912}#)
-         (if (memv #{type 1911}# '(core core-form))
-           (#{value 1912}#
-             #{e 1913}#
-             #{r 1914}#
-             #{w 1915}#
-             #{s 1916}#
-             #{mod 1917}#)
-           (if (memv #{type 1911}# '(module-ref))
-             (call-with-values
-               (lambda ()
-                 (#{value 1912}# #{e 1913}# #{r 1914}# #{w 1915}#))
-               (lambda (#{e 1928}#
-                        #{r 1929}#
-                        #{w 1930}#
-                        #{s 1931}#
-                        #{mod 1932}#)
-                 (#{chi 423}#
-                   #{e 1928}#
-                   #{r 1929}#
-                   #{w 1930}#
-                   #{mod 1932}#)))
-             (if (memv #{type 1911}# '(lexical-call))
-               (#{chi-call 427}#
-                 (begin
-                   (let ((#{id 1940}# (car #{e 1913}#)))
-                     (#{build-lexical-reference 273}#
-                       'fun
-                       (#{source-annotation 324}# #{id 1940}#)
-                       (if (#{syntax-object? 309}# #{id 1940}#)
-                         (syntax->datum #{id 1940}#)
-                         #{id 1940}#)
-                       #{value 1912}#)))
-                 #{e 1913}#
-                 #{r 1914}#
-                 #{w 1915}#
-                 #{s 1916}#
-                 #{mod 1917}#)
-               (if (memv #{type 1911}# '(global-call))
-                 (#{chi-call 427}#
-                   (#{build-global-reference 279}#
-                     (#{source-annotation 324}# (car #{e 1913}#))
-                     (if (#{syntax-object? 309}# #{value 1912}#)
-                       (#{syntax-object-expression 311}# #{value 1912}#)
-                       #{value 1912}#)
-                     (if (#{syntax-object? 309}# #{value 1912}#)
-                       (#{syntax-object-module 315}# #{value 1912}#)
-                       #{mod 1917}#))
-                   #{e 1913}#
-                   #{r 1914}#
-                   #{w 1915}#
-                   #{s 1916}#
-                   #{mod 1917}#)
-                 (if (memv #{type 1911}# '(constant))
-                   (#{build-data 295}#
-                     #{s 1916}#
-                     (#{strip 449}#
-                       (#{source-wrap 411}#
-                         #{e 1913}#
-                         #{w 1915}#
-                         #{s 1916}#
-                         #{mod 1917}#)
-                       '(())))
-                   (if (memv #{type 1911}# '(global))
-                     (#{build-global-reference 279}#
-                       #{s 1916}#
-                       #{value 1912}#
-                       #{mod 1917}#)
-                     (if (memv #{type 1911}# '(call))
-                       (#{chi-call 427}#
-                         (#{chi 423}#
-                           (car #{e 1913}#)
-                           #{r 1914}#
-                           #{w 1915}#
-                           #{mod 1917}#)
-                         #{e 1913}#
-                         #{r 1914}#
-                         #{w 1915}#
-                         #{s 1916}#
-                         #{mod 1917}#)
-                       (if (memv #{type 1911}# '(begin-form))
-                         (let ((#{tmp 1947}# #{e 1913}#))
-                           (let ((#{tmp 1948}#
-                                   ($sc-dispatch
-                                     #{tmp 1947}#
-                                     '(_ any . each-any))))
-                             (if #{tmp 1948}#
-                               (@apply
-                                 (lambda (#{e1 1951}# #{e2 1952}#)
-                                   (#{chi-sequence 413}#
-                                     (cons #{e1 1951}# #{e2 1952}#)
-                                     #{r 1914}#
-                                     #{w 1915}#
-                                     #{s 1916}#
-                                     #{mod 1917}#))
-                                 #{tmp 1948}#)
-                               (syntax-violation
-                                 #f
-                                 "source expression failed to match any 
pattern"
-                                 #{tmp 1947}#))))
-                         (if (memv #{type 1911}# '(local-syntax-form))
-                           (#{chi-local-syntax 433}#
-                             #{value 1912}#
-                             #{e 1913}#
-                             #{r 1914}#
-                             #{w 1915}#
-                             #{s 1916}#
-                             #{mod 1917}#
-                             #{chi-sequence 413}#)
-                           (if (memv #{type 1911}# '(eval-when-form))
-                             (let ((#{tmp 1956}# #{e 1913}#))
-                               (let ((#{tmp 1957}#
-                                       ($sc-dispatch
-                                         #{tmp 1956}#
-                                         '(_ each-any any . each-any))))
-                                 (if #{tmp 1957}#
-                                   (@apply
-                                     (lambda (#{x 1961}#
-                                              #{e1 1962}#
-                                              #{e2 1963}#)
-                                       (begin
-                                         (let ((#{when-list 1965}#
-                                                 (#{chi-when-list 419}#
-                                                   #{e 1913}#
-                                                   #{x 1961}#
-                                                   #{w 1915}#)))
-                                           (if (memq 'eval #{when-list 1965}#)
-                                             (#{chi-sequence 413}#
-                                               (cons #{e1 1962}# #{e2 1963}#)
-                                               #{r 1914}#
-                                               #{w 1915}#
-                                               #{s 1916}#
-                                               #{mod 1917}#)
-                                             (#{chi-void 437}#)))))
-                                     #{tmp 1957}#)
-                                   (syntax-violation
-                                     #f
-                                     "source expression failed to match any 
pattern"
-                                     #{tmp 1956}#))))
-                             (if (memv #{type 1911}#
-                                       '(define-form define-syntax-form))
-                               (syntax-violation
-                                 #f
-                                 "definition in expression context"
-                                 #{e 1913}#
-                                 (#{wrap 409}#
-                                   #{value 1912}#
-                                   #{w 1915}#
-                                   #{mod 1917}#))
-                               (if (memv #{type 1911}# '(syntax))
-                                 (syntax-violation
-                                   #f
-                                   "reference to pattern variable outside 
syntax form"
-                                   (#{source-wrap 411}#
-                                     #{e 1913}#
-                                     #{w 1915}#
-                                     #{s 1916}#
-                                     #{mod 1917}#))
-                                 (if (memv #{type 1911}# '(displaced-lexical))
-                                   (syntax-violation
-                                     #f
-                                     "reference to identifier outside its 
scope"
-                                     (#{source-wrap 411}#
-                                       #{e 1913}#
-                                       #{w 1915}#
-                                       #{s 1916}#
-                                       #{mod 1917}#))
-                                   (syntax-violation
-                                     #f
-                                     "unexpected syntax"
-                                     (#{source-wrap 411}#
-                                       #{e 1913}#
-                                       #{w 1915}#
-                                       #{s 1916}#
-                                       #{mod 1917}#))))))))))))))))))
-   (#{chi-call 427}#
-     (lambda (#{x 1972}#
-              #{e 1973}#
-              #{r 1974}#
-              #{w 1975}#
-              #{s 1976}#
-              #{mod 1977}#)
-       (let ((#{tmp 1984}# #{e 1973}#))
-         (let ((#{tmp 1985}#
-                 ($sc-dispatch #{tmp 1984}# '(any . each-any))))
-           (if #{tmp 1985}#
-             (@apply
-               (lambda (#{e0 1988}# #{e1 1989}#)
-                 (#{build-call 267}#
-                   #{s 1976}#
-                   #{x 1972}#
-                   (map (lambda (#{e 1990}#)
-                          (#{chi 423}#
-                            #{e 1990}#
-                            #{r 1974}#
-                            #{w 1975}#
-                            #{mod 1977}#))
-                        #{e1 1989}#)))
-               #{tmp 1985}#)
-             (syntax-violation
-               #f
-               "source expression failed to match any pattern"
-               #{tmp 1984}#))))))
-   (#{chi-macro 429}#
-     (lambda (#{p 1993}#
-              #{e 1994}#
-              #{r 1995}#
-              #{w 1996}#
-              #{s 1997}#
-              #{rib 1998}#
-              #{mod 1999}#)
-       (letrec*
-         ((#{rebuild-macro-output 2008}#
-            (lambda (#{x 2009}# #{m 2010}#)
-              (if (pair? #{x 2009}#)
-                (#{decorate-source 261}#
-                  (cons (#{rebuild-macro-output 2008}#
-                          (car #{x 2009}#)
-                          #{m 2010}#)
-                        (#{rebuild-macro-output 2008}#
-                          (cdr #{x 2009}#)
-                          #{m 2010}#))
-                  #{s 1997}#)
-                (if (#{syntax-object? 309}# #{x 2009}#)
-                  (begin
-                    (let ((#{w 2018}#
-                            (#{syntax-object-wrap 313}# #{x 2009}#)))
-                      (begin
-                        (let ((#{ms 2021}# (car #{w 2018}#))
-                              (#{s 2022}# (cdr #{w 2018}#)))
-                          (if (if (pair? #{ms 2021}#)
-                                (eq? (car #{ms 2021}#) #f)
-                                #f)
-                            (#{make-syntax-object 307}#
-                              (#{syntax-object-expression 311}# #{x 2009}#)
-                              (cons (cdr #{ms 2021}#)
-                                    (if #{rib 1998}#
-                                      (cons #{rib 1998}# (cdr #{s 2022}#))
-                                      (cdr #{s 2022}#)))
-                              (#{syntax-object-module 315}# #{x 2009}#))
-                            (#{make-syntax-object 307}#
-                              (#{decorate-source 261}#
-                                (#{syntax-object-expression 311}# #{x 2009}#)
-                                #{s 2022}#)
-                              (cons (cons #{m 2010}# #{ms 2021}#)
-                                    (if #{rib 1998}#
-                                      (cons #{rib 1998}#
-                                            (cons 'shift #{s 2022}#))
-                                      (cons 'shift #{s 2022}#)))
-                              (#{syntax-object-module 315}# #{x 2009}#)))))))
-                  (if (vector? #{x 2009}#)
-                    (begin
-                      (let ((#{n 2034}# (vector-length #{x 2009}#)))
-                        (begin
-                          (let ((#{v 2036}#
-                                  (#{decorate-source 261}#
-                                    (make-vector #{n 2034}#)
-                                    #{x 2009}#)))
-                            (letrec*
-                              ((#{loop 2039}#
-                                 (lambda (#{i 2040}#)
-                                   (if (= #{i 2040}# #{n 2034}#)
-                                     (begin (if #f #f) #{v 2036}#)
-                                     (begin
-                                       (vector-set!
-                                         #{v 2036}#
-                                         #{i 2040}#
-                                         (#{rebuild-macro-output 2008}#
-                                           (vector-ref #{x 2009}# #{i 2040}#)
-                                           #{m 2010}#))
-                                       (#{loop 2039}# (#{1+}# #{i 2040}#)))))))
-                              (begin (#{loop 2039}# 0)))))))
-                    (if (symbol? #{x 2009}#)
-                      (syntax-violation
-                        #f
-                        "encountered raw symbol in macro output"
-                        (#{source-wrap 411}#
-                          #{e 1994}#
-                          #{w 1996}#
-                          (cdr #{w 1996}#)
-                          #{mod 1999}#)
-                        #{x 2009}#)
-                      (#{decorate-source 261}# #{x 2009}# #{s 1997}#))))))))
-         (begin
-           (#{rebuild-macro-output 2008}#
-             (#{p 1993}#
-               (#{source-wrap 411}#
-                 #{e 1994}#
-                 (#{anti-mark 381}# #{w 1996}#)
-                 #{s 1997}#
-                 #{mod 1999}#))
-             (gensym "m"))))))
-   (#{chi-body 431}#
-     (lambda (#{body 2050}#
-              #{outer-form 2051}#
-              #{r 2052}#
-              #{w 2053}#
-              #{mod 2054}#)
-       (begin
-         (let ((#{r 2062}#
-                 (cons '("placeholder" placeholder) #{r 2052}#)))
-           (begin
-             (let ((#{ribcage 2064}#
-                     (#{make-ribcage 361}# '() '() '())))
-               (begin
-                 (let ((#{w 2067}#
-                         (cons (car #{w 2053}#)
-                               (cons #{ribcage 2064}# (cdr #{w 2053}#)))))
-                   (letrec*
-                     ((#{parse 2079}#
-                        (lambda (#{body 2080}#
-                                 #{ids 2081}#
-                                 #{labels 2082}#
-                                 #{var-ids 2083}#
-                                 #{vars 2084}#
-                                 #{vals 2085}#
-                                 #{bindings 2086}#)
-                          (if (null? #{body 2080}#)
-                            (syntax-violation
-                              #f
-                              "no expressions in body"
-                              #{outer-form 2051}#)
-                            (begin
-                              (let ((#{e 2091}# (cdr (car #{body 2080}#)))
-                                    (#{er 2092}# (car (car #{body 2080}#))))
-                                (call-with-values
-                                  (lambda ()
-                                    (#{syntax-type 421}#
-                                      #{e 2091}#
-                                      #{er 2092}#
-                                      '(())
-                                      (#{source-annotation 324}# #{er 2092}#)
-                                      #{ribcage 2064}#
-                                      #{mod 2054}#
-                                      #f))
-                                  (lambda (#{type 2094}#
-                                           #{value 2095}#
-                                           #{e 2096}#
-                                           #{w 2097}#
-                                           #{s 2098}#
-                                           #{mod 2099}#)
-                                    (if (memv #{type 2094}# '(define-form))
-                                      (begin
-                                        (let ((#{id 2109}#
-                                                (#{wrap 409}#
-                                                  #{value 2095}#
-                                                  #{w 2097}#
-                                                  #{mod 2099}#))
-                                              (#{label 2110}#
-                                                (#{gen-label 356}#)))
-                                          (begin
-                                            (let ((#{var 2112}#
-                                                    (#{gen-var 451}#
-                                                      #{id 2109}#)))
-                                              (begin
-                                                (#{extend-ribcage! 385}#
-                                                  #{ribcage 2064}#
-                                                  #{id 2109}#
-                                                  #{label 2110}#)
-                                                (#{parse 2079}#
-                                                  (cdr #{body 2080}#)
-                                                  (cons #{id 2109}#
-                                                        #{ids 2081}#)
-                                                  (cons #{label 2110}#
-                                                        #{labels 2082}#)
-                                                  (cons #{id 2109}#
-                                                        #{var-ids 2083}#)
-                                                  (cons #{var 2112}#
-                                                        #{vars 2084}#)
-                                                  (cons (cons #{er 2092}#
-                                                              (#{wrap 409}#
-                                                                #{e 2096}#
-                                                                #{w 2097}#
-                                                                #{mod 2099}#))
-                                                        #{vals 2085}#)
-                                                  (cons (cons 'lexical
-                                                              #{var 2112}#)
-                                                        #{bindings 
2086}#)))))))
-                                      (if (memv #{type 2094}#
-                                                '(define-syntax-form))
-                                        (begin
-                                          (let ((#{id 2117}#
-                                                  (#{wrap 409}#
-                                                    #{value 2095}#
-                                                    #{w 2097}#
-                                                    #{mod 2099}#))
-                                                (#{label 2118}#
-                                                  (#{gen-label 356}#)))
-                                            (begin
-                                              (#{extend-ribcage! 385}#
-                                                #{ribcage 2064}#
-                                                #{id 2117}#
-                                                #{label 2118}#)
-                                              (#{parse 2079}#
-                                                (cdr #{body 2080}#)
-                                                (cons #{id 2117}# #{ids 2081}#)
-                                                (cons #{label 2118}#
-                                                      #{labels 2082}#)
-                                                #{var-ids 2083}#
-                                                #{vars 2084}#
-                                                #{vals 2085}#
-                                                (cons (cons 'macro
-                                                            (cons #{er 2092}#
-                                                                  (#{wrap 409}#
-                                                                    #{e 2096}#
-                                                                    #{w 2097}#
-                                                                    #{mod 
2099}#)))
-                                                      #{bindings 2086}#)))))
-                                        (if (memv #{type 2094}# '(begin-form))
-                                          (let ((#{tmp 2121}# #{e 2096}#))
-                                            (let ((#{tmp 2122}#
-                                                    ($sc-dispatch
-                                                      #{tmp 2121}#
-                                                      '(_ . each-any))))
-                                              (if #{tmp 2122}#
-                                                (@apply
-                                                  (lambda (#{e1 2124}#)
-                                                    (#{parse 2079}#
-                                                      (letrec*
-                                                        ((#{f 2127}#
-                                                           (lambda (#{forms 
2128}#)
-                                                             (if (null? 
#{forms 2128}#)
-                                                               (cdr #{body 
2080}#)
-                                                               (cons (cons 
#{er 2092}#
-                                                                           
(#{wrap 409}#
-                                                                             
(car #{forms 2128}#)
-                                                                             
#{w 2097}#
-                                                                             
#{mod 2099}#))
-                                                                     (#{f 
2127}#
-                                                                       (cdr 
#{forms 2128}#)))))))
-                                                        (begin
-                                                          (#{f 2127}#
-                                                            #{e1 2124}#)))
-                                                      #{ids 2081}#
-                                                      #{labels 2082}#
-                                                      #{var-ids 2083}#
-                                                      #{vars 2084}#
-                                                      #{vals 2085}#
-                                                      #{bindings 2086}#))
-                                                  #{tmp 2122}#)
-                                                (syntax-violation
-                                                  #f
-                                                  "source expression failed to 
match any pattern"
-                                                  #{tmp 2121}#))))
-                                          (if (memv #{type 2094}#
-                                                    '(local-syntax-form))
-                                            (#{chi-local-syntax 433}#
-                                              #{value 2095}#
-                                              #{e 2096}#
-                                              #{er 2092}#
-                                              #{w 2097}#
-                                              #{s 2098}#
-                                              #{mod 2099}#
-                                              (lambda (#{forms 2131}#
-                                                       #{er 2132}#
-                                                       #{w 2133}#
-                                                       #{s 2134}#
-                                                       #{mod 2135}#)
-                                                (#{parse 2079}#
-                                                  (letrec*
-                                                    ((#{f 2143}#
-                                                       (lambda (#{forms 2144}#)
-                                                         (if (null? #{forms 
2144}#)
-                                                           (cdr #{body 2080}#)
-                                                           (cons (cons #{er 
2132}#
-                                                                       (#{wrap 
409}#
-                                                                         (car 
#{forms 2144}#)
-                                                                         #{w 
2133}#
-                                                                         #{mod 
2135}#))
-                                                                 (#{f 2143}#
-                                                                   (cdr 
#{forms 2144}#)))))))
-                                                    (begin
-                                                      (#{f 2143}#
-                                                        #{forms 2131}#)))
-                                                  #{ids 2081}#
-                                                  #{labels 2082}#
-                                                  #{var-ids 2083}#
-                                                  #{vars 2084}#
-                                                  #{vals 2085}#
-                                                  #{bindings 2086}#)))
-                                            (if (null? #{ids 2081}#)
-                                              (#{build-sequence 297}#
-                                                #f
-                                                (map (lambda (#{x 2147}#)
-                                                       (#{chi 423}#
-                                                         (cdr #{x 2147}#)
-                                                         (car #{x 2147}#)
-                                                         '(())
-                                                         #{mod 2099}#))
-                                                     (cons (cons #{er 2092}#
-                                                                 
(#{source-wrap 411}#
-                                                                   #{e 2096}#
-                                                                   #{w 2097}#
-                                                                   #{s 2098}#
-                                                                   #{mod 
2099}#))
-                                                           (cdr #{body 
2080}#))))
-                                              (begin
-                                                (if (not (#{valid-bound-ids? 
403}#
-                                                           #{ids 2081}#))
-                                                  (syntax-violation
-                                                    #f
-                                                    "invalid or duplicate 
identifier in definition"
-                                                    #{outer-form 2051}#))
-                                                (letrec*
-                                                  ((#{loop 2154}#
-                                                     (lambda (#{bs 2155}#
-                                                              #{er-cache 2156}#
-                                                              #{r-cache 2157}#)
-                                                       (if (not (null? #{bs 
2155}#))
-                                                         (begin
-                                                           (let ((#{b 2160}#
-                                                                   (car #{bs 
2155}#)))
-                                                             (if (eq? (car #{b 
2160}#)
-                                                                      'macro)
-                                                               (begin
-                                                                 (let ((#{er 
2163}#
-                                                                         (car 
(cdr #{b 2160}#))))
-                                                                   (begin
-                                                                     (let 
((#{r-cache 2165}#
-                                                                             
(if (eq? #{er 2163}#
-                                                                               
       #{er-cache 2156}#)
-                                                                               
#{r-cache 2157}#
-                                                                               
(#{macros-only-env 335}#
-                                                                               
  #{er 2163}#))))
-                                                                       (begin
-                                                                         
(set-cdr!
-                                                                           #{b 
2160}#
-                                                                           
(#{eval-local-transformer 435}#
-                                                                             
(#{chi 423}#
-                                                                               
(cdr (cdr #{b 2160}#))
-                                                                               
#{r-cache 2165}#
-                                                                               
'(())
-                                                                               
#{mod 2099}#)
-                                                                             
#{mod 2099}#))
-                                                                         
(#{loop 2154}#
-                                                                           
(cdr #{bs 2155}#)
-                                                                           
#{er 2163}#
-                                                                           
#{r-cache 2165}#))))))
-                                                               (#{loop 2154}#
-                                                                 (cdr #{bs 
2155}#)
-                                                                 #{er-cache 
2156}#
-                                                                 #{r-cache 
2157}#))))))))
-                                                  (begin
-                                                    (#{loop 2154}#
-                                                      #{bindings 2086}#
-                                                      #f
-                                                      #f)))
-                                                (set-cdr!
-                                                  #{r 2062}#
-                                                  (#{extend-env 331}#
-                                                    #{labels 2082}#
-                                                    #{bindings 2086}#
-                                                    (cdr #{r 2062}#)))
-                                                (#{build-letrec 303}#
-                                                  #f
-                                                  #t
-                                                  (reverse
-                                                    (map syntax->datum
-                                                         #{var-ids 2083}#))
-                                                  (reverse #{vars 2084}#)
-                                                  (map (lambda (#{x 2168}#)
-                                                         (#{chi 423}#
-                                                           (cdr #{x 2168}#)
-                                                           (car #{x 2168}#)
-                                                           '(())
-                                                           #{mod 2099}#))
-                                                       (reverse #{vals 2085}#))
-                                                  (#{build-sequence 297}#
-                                                    #f
-                                                    (map (lambda (#{x 2172}#)
-                                                           (#{chi 423}#
-                                                             (cdr #{x 2172}#)
-                                                             (car #{x 2172}#)
-                                                             '(())
-                                                             #{mod 2099}#))
-                                                         (cons (cons #{er 
2092}#
-                                                                     
(#{source-wrap 411}#
-                                                                       #{e 
2096}#
-                                                                       #{w 
2097}#
-                                                                       #{s 
2098}#
-                                                                       #{mod 
2099}#))
-                                                               (cdr #{body 
2080}#)))))))))))))))))))
-                     (begin
-                       (#{parse 2079}#
-                         (map (lambda (#{x 2087}#)
-                                (cons #{r 2062}#
-                                      (#{wrap 409}#
-                                        #{x 2087}#
-                                        #{w 2067}#
-                                        #{mod 2054}#)))
-                              #{body 2050}#)
-                         '()
-                         '()
-                         '()
-                         '()
-                         '()
-                         '())))))))))))
-   (#{chi-local-syntax 433}#
-     (lambda (#{rec? 2175}#
-              #{e 2176}#
-              #{r 2177}#
-              #{w 2178}#
-              #{s 2179}#
-              #{mod 2180}#
-              #{k 2181}#)
-       (let ((#{tmp 2189}# #{e 2176}#))
-         (let ((#{tmp 2190}#
-                 ($sc-dispatch
-                   #{tmp 2189}#
-                   '(_ #(each (any any)) any . each-any))))
-           (if #{tmp 2190}#
-             (@apply
-               (lambda (#{id 2195}#
-                        #{val 2196}#
-                        #{e1 2197}#
-                        #{e2 2198}#)
-                 (begin
-                   (let ((#{ids 2200}# #{id 2195}#))
-                     (if (not (#{valid-bound-ids? 403}# #{ids 2200}#))
-                       (syntax-violation
-                         #f
-                         "duplicate bound keyword"
-                         #{e 2176}#)
-                       (begin
-                         (let ((#{labels 2203}#
-                                 (#{gen-labels 358}# #{ids 2200}#)))
-                           (begin
-                             (let ((#{new-w 2205}#
-                                     (#{make-binding-wrap 387}#
-                                       #{ids 2200}#
-                                       #{labels 2203}#
-                                       #{w 2178}#)))
-                               (#{k 2181}#
-                                 (cons #{e1 2197}# #{e2 2198}#)
-                                 (#{extend-env 331}#
-                                   #{labels 2203}#
-                                   (begin
-                                     (let ((#{w 2209}#
-                                             (if #{rec? 2175}#
-                                               #{new-w 2205}#
-                                               #{w 2178}#))
-                                           (#{trans-r 2210}#
-                                             (#{macros-only-env 335}#
-                                               #{r 2177}#)))
-                                       (map (lambda (#{x 2211}#)
-                                              (cons 'macro
-                                                    (#{eval-local-transformer 
435}#
-                                                      (#{chi 423}#
-                                                        #{x 2211}#
-                                                        #{trans-r 2210}#
-                                                        #{w 2209}#
-                                                        #{mod 2180}#)
-                                                      #{mod 2180}#)))
-                                            #{val 2196}#)))
-                                   #{r 2177}#)
-                                 #{new-w 2205}#
-                                 #{s 2179}#
-                                 #{mod 2180}#)))))))))
-               #{tmp 2190}#)
-             (let ((#{_ 2216}# #{tmp 2189}#))
-               (syntax-violation
-                 #f
-                 "bad local syntax definition"
-                 (#{source-wrap 411}#
-                   #{e 2176}#
-                   #{w 2178}#
-                   #{s 2179}#
-                   #{mod 2180}#))))))))
-   (#{eval-local-transformer 435}#
-     (lambda (#{expanded 2217}# #{mod 2218}#)
-       (begin
-         (let ((#{p 2222}#
-                 (#{local-eval-hook 254}#
-                   #{expanded 2217}#
-                   #{mod 2218}#)))
-           (if (procedure? #{p 2222}#)
-             #{p 2222}#
-             (syntax-violation
-               #f
-               "nonprocedure transformer"
-               #{p 2222}#))))))
-   (#{chi-void 437}#
-     (lambda () (#{build-void 265}# #f)))
-   (#{ellipsis? 439}#
-     (lambda (#{x 2224}#)
-       (if (#{nonsymbol-id? 341}# #{x 2224}#)
-         (#{free-id=? 399}#
-           #{x 2224}#
-           '#(syntax-object
-              ...
-              ((top)
-               #(ribcage () () ())
-               #(ribcage () () ())
-               #(ribcage #(x) #((top)) #("i2225"))
-               #(ribcage
-                 (lambda-var-list
-                   gen-var
-                   strip
-                   chi-lambda-case
-                   lambda*-formals
-                   chi-simple-lambda
-                   lambda-formals
-                   ellipsis?
-                   chi-void
-                   eval-local-transformer
-                   chi-local-syntax
-                   chi-body
-                   chi-macro
-                   chi-call
-                   chi-expr
-                   chi
-                   syntax-type
-                   chi-when-list
-                   chi-install-global
-                   chi-top-sequence
-                   chi-sequence
-                   source-wrap
-                   wrap
-                   bound-id-member?
-                   distinct-bound-ids?
-                   valid-bound-ids?
-                   bound-id=?
-                   free-id=?
-                   id-var-name
-                   same-marks?
-                   join-marks
-                   join-wraps
-                   smart-append
-                   make-binding-wrap
-                   extend-ribcage!
-                   make-empty-ribcage
-                   new-mark
-                   anti-mark
-                   the-anti-mark
-                   top-marked?
-                   top-wrap
-                   empty-wrap
-                   set-ribcage-labels!
-                   set-ribcage-marks!
-                   set-ribcage-symnames!
-                   ribcage-labels
-                   ribcage-marks
-                   ribcage-symnames
-                   ribcage?
-                   make-ribcage
-                   gen-labels
-                   gen-label
-                   make-rename
-                   rename-marks
-                   rename-new
-                   rename-old
-                   subst-rename?
-                   wrap-subst
-                   wrap-marks
-                   make-wrap
-                   id-sym-name&marks
-                   id-sym-name
-                   id?
-                   nonsymbol-id?
-                   global-extend
-                   lookup
-                   macros-only-env
-                   extend-var-env
-                   extend-env
-                   null-env
-                   binding-value
-                   binding-type
-                   make-binding
-                   arg-check
-                   source-annotation
-                   no-source
-                   set-syntax-object-module!
-                   set-syntax-object-wrap!
-                   set-syntax-object-expression!
-                   syntax-object-module
-                   syntax-object-wrap
-                   syntax-object-expression
-                   syntax-object?
-                   make-syntax-object
-                   build-lexical-var
-                   build-letrec
-                   build-named-let
-                   build-let
-                   build-sequence
-                   build-data
-                   build-primref
-                   build-primcall
-                   build-lambda-case
-                   build-case-lambda
-                   build-simple-lambda
-                   build-global-definition
-                   build-global-assignment
-                   build-global-reference
-                   analyze-variable
-                   build-lexical-assignment
-                   build-lexical-reference
-                   build-dynlet
-                   build-conditional
-                   build-call
-                   build-void
-                   maybe-name-value!
-                   decorate-source
-                   get-global-definition-hook
-                   put-global-definition-hook
-                   gensym-hook
-                   local-eval-hook
-                   top-level-eval-hook
-                   fx<
-                   fx=
-                   fx-
-                   fx+
-                   set-lambda-meta!
-                   lambda-meta
-                   lambda?
-                   make-dynlet
-                   make-letrec
-                   make-let
-                   make-lambda-case
-                   make-lambda
-                   make-sequence
-                   make-primcall
-                   make-call
-                   make-conditional
-                   make-toplevel-define
-                   make-toplevel-set
-                   make-toplevel-ref
-                   make-module-set
-                   make-module-ref
-                   make-lexical-set
-                   make-lexical-ref
-                   make-primitive-ref
-                   make-const
-                   make-void)
-                 ((top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top)
-                  (top))
-                 ("i452"
-                  "i450"
-                  "i448"
-                  "i446"
-                  "i444"
-                  "i442"
-                  "i440"
-                  "i438"
-                  "i436"
-                  "i434"
-                  "i432"
-                  "i430"
-                  "i428"
-                  "i426"
-                  "i424"
-                  "i422"
-                  "i420"
-                  "i418"
-                  "i416"
-                  "i414"
-                  "i412"
-                  "i410"
-                  "i408"
-                  "i406"
-                  "i404"
-                  "i402"
-                  "i400"
-                  "i398"
-                  "i396"
-                  "i394"
-                  "i392"
-                  "i390"
-                  "i388"
-                  "i386"
-                  "i384"
-                  "i383"
-                  "i382"
-                  "i380"
-                  "i379"
-                  "i378"
-                  "i377"
-                  "i376"
-                  "i374"
-                  "i372"
-                  "i370"
-                  "i368"
-                  "i366"
-                  "i364"
-                  "i362"
-                  "i360"
-                  "i357"
-                  "i355"
-                  "i354"
-                  "i353"
-                  "i352"
-                  "i351"
-                  "i350"
-                  "i349"
-                  "i348"
-                  "i347"
-                  "i345"
-                  "i344"
-                  "i342"
-                  "i340"
-                  "i338"
-                  "i336"
-                  "i334"
-                  "i332"
-                  "i330"
-                  "i329"
-                  "i328"
-                  "i327"
-                  "i326"
-                  "i325"
-                  "i323"
-                  "i322"
-                  "i320"
-                  "i318"
-                  "i316"
-                  "i314"
-                  "i312"
-                  "i310"
-                  "i308"
-                  "i306"
-                  "i304"
-                  "i302"
-                  "i300"
-                  "i298"
-                  "i296"
-                  "i294"
-                  "i292"
-                  "i290"
-                  "i288"
-                  "i286"
-                  "i284"
-                  "i282"
-                  "i280"
-                  "i278"
-                  "i276"
-                  "i274"
-                  "i272"
-                  "i270"
-                  "i268"
-                  "i266"
-                  "i264"
-                  "i262"
-                  "i260"
-                  "i258"
-                  "i256"
-                  "i255"
-                  "i253"
-                  "i251"
-                  "i250"
-                  "i249"
-                  "i248"
-                  "i247"
-                  "i245"
-                  "i243"
-                  "i241"
-                  "i238"
-                  "i236"
-                  "i234"
-                  "i232"
-                  "i230"
-                  "i228"
-                  "i226"
-                  "i224"
-                  "i222"
-                  "i220"
-                  "i218"
-                  "i216"
-                  "i214"
-                  "i212"
-                  "i210"
-                  "i208"
-                  "i206"
-                  "i204"
-                  "i202"))
-               #(ribcage
-                 (define-structure
-                   define-expansion-accessors
-                   define-expansion-constructors)
-                 ((top) (top) (top))
-                 ("i40" "i39" "i38")))
-              (hygiene guile)))
-         #f)))
-   (#{lambda-formals 441}#
-     (lambda (#{orig-args 2228}#)
-       (letrec*
-         ((#{req 2231}#
-            (lambda (#{args 2234}# #{rreq 2235}#)
-              (let ((#{tmp 2238}# #{args 2234}#))
-                (let ((#{tmp 2239}# ($sc-dispatch #{tmp 2238}# '())))
-                  (if #{tmp 2239}#
-                    (@apply
-                      (lambda ()
-                        (#{check 2233}# (reverse #{rreq 2235}#) #f))
-                      #{tmp 2239}#)
-                    (let ((#{tmp 2240}#
-                            ($sc-dispatch #{tmp 2238}# '(any . any))))
-                      (if (if #{tmp 2240}#
-                            (@apply
-                              (lambda (#{a 2243}# #{b 2244}#)
-                                (#{id? 343}# #{a 2243}#))
-                              #{tmp 2240}#)
-                            #f)
-                        (@apply
-                          (lambda (#{a 2247}# #{b 2248}#)
-                            (#{req 2231}#
-                              #{b 2248}#
-                              (cons #{a 2247}# #{rreq 2235}#)))
-                          #{tmp 2240}#)
-                        (let ((#{tmp 2249}# (list #{tmp 2238}#)))
-                          (if (if #{tmp 2249}#
-                                (@apply
-                                  (lambda (#{r 2251}#)
-                                    (#{id? 343}# #{r 2251}#))
-                                  #{tmp 2249}#)
-                                #f)
-                            (@apply
-                              (lambda (#{r 2253}#)
-                                (#{check 2233}#
-                                  (reverse #{rreq 2235}#)
-                                  #{r 2253}#))
-                              #{tmp 2249}#)
-                            (let ((#{else 2255}# #{tmp 2238}#))
-                              (syntax-violation
-                                'lambda
-                                "invalid argument list"
-                                #{orig-args 2228}#
-                                #{args 2234}#)))))))))))
-          (#{check 2233}#
-            (lambda (#{req 2256}# #{rest 2257}#)
-              (if (#{distinct-bound-ids? 405}#
-                    (if #{rest 2257}#
-                      (cons #{rest 2257}# #{req 2256}#)
-                      #{req 2256}#))
-                (values #{req 2256}# #f #{rest 2257}# #f)
-                (syntax-violation
-                  'lambda
-                  "duplicate identifier in argument list"
-                  #{orig-args 2228}#)))))
-         (begin (#{req 2231}# #{orig-args 2228}# '())))))
-   (#{chi-simple-lambda 443}#
-     (lambda (#{e 2263}#
-              #{r 2264}#
-              #{w 2265}#
-              #{s 2266}#
-              #{mod 2267}#
-              #{req 2268}#
-              #{rest 2269}#
-              #{meta 2270}#
-              #{body 2271}#)
-       (begin
-         (let ((#{ids 2283}#
-                 (if #{rest 2269}#
-                   (append #{req 2268}# (list #{rest 2269}#))
-                   #{req 2268}#)))
-           (begin
-             (let ((#{vars 2285}#
-                     (map #{gen-var 451}# #{ids 2283}#)))
-               (begin
-                 (let ((#{labels 2287}#
-                         (#{gen-labels 358}# #{ids 2283}#)))
-                   (#{build-simple-lambda 285}#
-                     #{s 2266}#
-                     (map syntax->datum #{req 2268}#)
-                     (if #{rest 2269}#
-                       (syntax->datum #{rest 2269}#)
-                       #f)
-                     #{vars 2285}#
-                     #{meta 2270}#
-                     (#{chi-body 431}#
-                       #{body 2271}#
-                       (#{source-wrap 411}#
-                         #{e 2263}#
-                         #{w 2265}#
-                         #{s 2266}#
-                         #{mod 2267}#)
-                       (#{extend-var-env 333}#
-                         #{labels 2287}#
-                         #{vars 2285}#
-                         #{r 2264}#)
-                       (#{make-binding-wrap 387}#
-                         #{ids 2283}#
-                         #{labels 2287}#
-                         #{w 2265}#)
-                       #{mod 2267}#))))))))))
-   (#{lambda*-formals 445}#
-     (lambda (#{orig-args 2290}#)
-       (letrec*
-         ((#{req 2293}#
-            (lambda (#{args 2302}# #{rreq 2303}#)
-              (let ((#{tmp 2306}# #{args 2302}#))
-                (let ((#{tmp 2307}# ($sc-dispatch #{tmp 2306}# '())))
-                  (if #{tmp 2307}#
-                    (@apply
-                      (lambda ()
-                        (#{check 2301}#
-                          (reverse #{rreq 2303}#)
-                          '()
-                          #f
-                          '()))
-                      #{tmp 2307}#)
-                    (let ((#{tmp 2308}#
-                            ($sc-dispatch #{tmp 2306}# '(any . any))))
-                      (if (if #{tmp 2308}#
-                            (@apply
-                              (lambda (#{a 2311}# #{b 2312}#)
-                                (#{id? 343}# #{a 2311}#))
-                              #{tmp 2308}#)
-                            #f)
-                        (@apply
-                          (lambda (#{a 2315}# #{b 2316}#)
-                            (#{req 2293}#
-                              #{b 2316}#
-                              (cons #{a 2315}# #{rreq 2303}#)))
-                          #{tmp 2308}#)
-                        (let ((#{tmp 2317}#
-                                ($sc-dispatch #{tmp 2306}# '(any . any))))
-                          (if (if #{tmp 2317}#
-                                (@apply
-                                  (lambda (#{a 2320}# #{b 2321}#)
-                                    (eq? (syntax->datum #{a 2320}#)
-                                         #:optional))
-                                  #{tmp 2317}#)
-                                #f)
-                            (@apply
-                              (lambda (#{a 2324}# #{b 2325}#)
-                                (#{opt 2295}#
-                                  #{b 2325}#
-                                  (reverse #{rreq 2303}#)
-                                  '()))
-                              #{tmp 2317}#)
-                            (let ((#{tmp 2326}#
-                                    ($sc-dispatch #{tmp 2306}# '(any . any))))
-                              (if (if #{tmp 2326}#
-                                    (@apply
-                                      (lambda (#{a 2329}# #{b 2330}#)
-                                        (eq? (syntax->datum #{a 2329}#) #:key))
-                                      #{tmp 2326}#)
-                                    #f)
-                                (@apply
-                                  (lambda (#{a 2333}# #{b 2334}#)
-                                    (#{key 2297}#
-                                      #{b 2334}#
-                                      (reverse #{rreq 2303}#)
-                                      '()
-                                      '()))
-                                  #{tmp 2326}#)
-                                (let ((#{tmp 2335}#
-                                        ($sc-dispatch
-                                          #{tmp 2306}#
-                                          '(any any))))
-                                  (if (if #{tmp 2335}#
-                                        (@apply
-                                          (lambda (#{a 2338}# #{b 2339}#)
-                                            (eq? (syntax->datum #{a 2338}#)
-                                                 #:rest))
-                                          #{tmp 2335}#)
-                                        #f)
-                                    (@apply
-                                      (lambda (#{a 2342}# #{b 2343}#)
-                                        (#{rest 2299}#
-                                          #{b 2343}#
-                                          (reverse #{rreq 2303}#)
-                                          '()
-                                          '()))
-                                      #{tmp 2335}#)
-                                    (let ((#{tmp 2344}# (list #{tmp 2306}#)))
-                                      (if (if #{tmp 2344}#
-                                            (@apply
-                                              (lambda (#{r 2346}#)
-                                                (#{id? 343}# #{r 2346}#))
-                                              #{tmp 2344}#)
-                                            #f)
-                                        (@apply
-                                          (lambda (#{r 2348}#)
-                                            (#{rest 2299}#
-                                              #{r 2348}#
-                                              (reverse #{rreq 2303}#)
-                                              '()
-                                              '()))
-                                          #{tmp 2344}#)
-                                        (let ((#{else 2350}# #{tmp 2306}#))
-                                          (syntax-violation
-                                            'lambda*
-                                            "invalid argument list"
-                                            #{orig-args 2290}#
-                                            #{args 2302}#)))))))))))))))))
-          (#{opt 2295}#
-            (lambda (#{args 2351}# #{req 2352}# #{ropt 2353}#)
-              (let ((#{tmp 2357}# #{args 2351}#))
-                (let ((#{tmp 2358}# ($sc-dispatch #{tmp 2357}# '())))
-                  (if #{tmp 2358}#
-                    (@apply
-                      (lambda ()
-                        (#{check 2301}#
-                          #{req 2352}#
-                          (reverse #{ropt 2353}#)
-                          #f
-                          '()))
-                      #{tmp 2358}#)
-                    (let ((#{tmp 2359}#
-                            ($sc-dispatch #{tmp 2357}# '(any . any))))
-                      (if (if #{tmp 2359}#
-                            (@apply
-                              (lambda (#{a 2362}# #{b 2363}#)
-                                (#{id? 343}# #{a 2362}#))
-                              #{tmp 2359}#)
-                            #f)
-                        (@apply
-                          (lambda (#{a 2366}# #{b 2367}#)
-                            (#{opt 2295}#
-                              #{b 2367}#
-                              #{req 2352}#
-                              (cons (cons #{a 2366}#
-                                          '(#(syntax-object
-                                              #f
-                                              ((top)
-                                               #(ribcage
-                                                 #(a b)
-                                                 #((top) (top))
-                                                 #("i2364" "i2365"))
-                                               #(ribcage () () ())
-                                               #(ribcage
-                                                 #(args req ropt)
-                                                 #((top) (top) (top))
-                                                 #("i2354" "i2355" "i2356"))
-                                               #(ribcage
-                                                 (check rest key opt req)
-                                                 ((top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top))
-                                                 ("i2300"
-                                                  "i2298"
-                                                  "i2296"
-                                                  "i2294"
-                                                  "i2292"))
-                                               #(ribcage
-                                                 #(orig-args)
-                                                 #((top))
-                                                 #("i2291"))
-                                               #(ribcage
-                                                 (lambda-var-list
-                                                   gen-var
-                                                   strip
-                                                   chi-lambda-case
-                                                   lambda*-formals
-                                                   chi-simple-lambda
-                                                   lambda-formals
-                                                   ellipsis?
-                                                   chi-void
-                                                   eval-local-transformer
-                                                   chi-local-syntax
-                                                   chi-body
-                                                   chi-macro
-                                                   chi-call
-                                                   chi-expr
-                                                   chi
-                                                   syntax-type
-                                                   chi-when-list
-                                                   chi-install-global
-                                                   chi-top-sequence
-                                                   chi-sequence
-                                                   source-wrap
-                                                   wrap
-                                                   bound-id-member?
-                                                   distinct-bound-ids?
-                                                   valid-bound-ids?
-                                                   bound-id=?
-                                                   free-id=?
-                                                   id-var-name
-                                                   same-marks?
-                                                   join-marks
-                                                   join-wraps
-                                                   smart-append
-                                                   make-binding-wrap
-                                                   extend-ribcage!
-                                                   make-empty-ribcage
-                                                   new-mark
-                                                   anti-mark
-                                                   the-anti-mark
-                                                   top-marked?
-                                                   top-wrap
-                                                   empty-wrap
-                                                   set-ribcage-labels!
-                                                   set-ribcage-marks!
-                                                   set-ribcage-symnames!
-                                                   ribcage-labels
-                                                   ribcage-marks
-                                                   ribcage-symnames
-                                                   ribcage?
-                                                   make-ribcage
-                                                   gen-labels
-                                                   gen-label
-                                                   make-rename
-                                                   rename-marks
-                                                   rename-new
-                                                   rename-old
-                                                   subst-rename?
-                                                   wrap-subst
-                                                   wrap-marks
-                                                   make-wrap
-                                                   id-sym-name&marks
-                                                   id-sym-name
-                                                   id?
-                                                   nonsymbol-id?
-                                                   global-extend
-                                                   lookup
-                                                   macros-only-env
-                                                   extend-var-env
-                                                   extend-env
-                                                   null-env
-                                                   binding-value
-                                                   binding-type
-                                                   make-binding
-                                                   arg-check
-                                                   source-annotation
-                                                   no-source
-                                                   set-syntax-object-module!
-                                                   set-syntax-object-wrap!
-                                                   
set-syntax-object-expression!
-                                                   syntax-object-module
-                                                   syntax-object-wrap
-                                                   syntax-object-expression
-                                                   syntax-object?
-                                                   make-syntax-object
-                                                   build-lexical-var
-                                                   build-letrec
-                                                   build-named-let
-                                                   build-let
-                                                   build-sequence
-                                                   build-data
-                                                   build-primref
-                                                   build-primcall
-                                                   build-lambda-case
-                                                   build-case-lambda
-                                                   build-simple-lambda
-                                                   build-global-definition
-                                                   build-global-assignment
-                                                   build-global-reference
-                                                   analyze-variable
-                                                   build-lexical-assignment
-                                                   build-lexical-reference
-                                                   build-dynlet
-                                                   build-conditional
-                                                   build-call
-                                                   build-void
-                                                   maybe-name-value!
-                                                   decorate-source
-                                                   get-global-definition-hook
-                                                   put-global-definition-hook
-                                                   gensym-hook
-                                                   local-eval-hook
-                                                   top-level-eval-hook
-                                                   fx<
-                                                   fx=
-                                                   fx-
-                                                   fx+
-                                                   set-lambda-meta!
-                                                   lambda-meta
-                                                   lambda?
-                                                   make-dynlet
-                                                   make-letrec
-                                                   make-let
-                                                   make-lambda-case
-                                                   make-lambda
-                                                   make-sequence
-                                                   make-primcall
-                                                   make-call
-                                                   make-conditional
-                                                   make-toplevel-define
-                                                   make-toplevel-set
-                                                   make-toplevel-ref
-                                                   make-module-set
-                                                   make-module-ref
-                                                   make-lexical-set
-                                                   make-lexical-ref
-                                                   make-primitive-ref
-                                                   make-const
-                                                   make-void)
-                                                 ((top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top))
-                                                 ("i452"
-                                                  "i450"
-                                                  "i448"
-                                                  "i446"
-                                                  "i444"
-                                                  "i442"
-                                                  "i440"
-                                                  "i438"
-                                                  "i436"
-                                                  "i434"
-                                                  "i432"
-                                                  "i430"
-                                                  "i428"
-                                                  "i426"
-                                                  "i424"
-                                                  "i422"
-                                                  "i420"
-                                                  "i418"
-                                                  "i416"
-                                                  "i414"
-                                                  "i412"
-                                                  "i410"
-                                                  "i408"
-                                                  "i406"
-                                                  "i404"
-                                                  "i402"
-                                                  "i400"
-                                                  "i398"
-                                                  "i396"
-                                                  "i394"
-                                                  "i392"
-                                                  "i390"
-                                                  "i388"
-                                                  "i386"
-                                                  "i384"
-                                                  "i383"
-                                                  "i382"
-                                                  "i380"
-                                                  "i379"
-                                                  "i378"
-                                                  "i377"
-                                                  "i376"
-                                                  "i374"
-                                                  "i372"
-                                                  "i370"
-                                                  "i368"
-                                                  "i366"
-                                                  "i364"
-                                                  "i362"
-                                                  "i360"
-                                                  "i357"
-                                                  "i355"
-                                                  "i354"
-                                                  "i353"
-                                                  "i352"
-                                                  "i351"
-                                                  "i350"
-                                                  "i349"
-                                                  "i348"
-                                                  "i347"
-                                                  "i345"
-                                                  "i344"
-                                                  "i342"
-                                                  "i340"
-                                                  "i338"
-                                                  "i336"
-                                                  "i334"
-                                                  "i332"
-                                                  "i330"
-                                                  "i329"
-                                                  "i328"
-                                                  "i327"
-                                                  "i326"
-                                                  "i325"
-                                                  "i323"
-                                                  "i322"
-                                                  "i320"
-                                                  "i318"
-                                                  "i316"
-                                                  "i314"
-                                                  "i312"
-                                                  "i310"
-                                                  "i308"
-                                                  "i306"
-                                                  "i304"
-                                                  "i302"
-                                                  "i300"
-                                                  "i298"
-                                                  "i296"
-                                                  "i294"
-                                                  "i292"
-                                                  "i290"
-                                                  "i288"
-                                                  "i286"
-                                                  "i284"
-                                                  "i282"
-                                                  "i280"
-                                                  "i278"
-                                                  "i276"
-                                                  "i274"
-                                                  "i272"
-                                                  "i270"
-                                                  "i268"
-                                                  "i266"
-                                                  "i264"
-                                                  "i262"
-                                                  "i260"
-                                                  "i258"
-                                                  "i256"
-                                                  "i255"
-                                                  "i253"
-                                                  "i251"
-                                                  "i250"
-                                                  "i249"
-                                                  "i248"
-                                                  "i247"
-                                                  "i245"
-                                                  "i243"
-                                                  "i241"
-                                                  "i238"
-                                                  "i236"
-                                                  "i234"
-                                                  "i232"
-                                                  "i230"
-                                                  "i228"
-                                                  "i226"
-                                                  "i224"
-                                                  "i222"
-                                                  "i220"
-                                                  "i218"
-                                                  "i216"
-                                                  "i214"
-                                                  "i212"
-                                                  "i210"
-                                                  "i208"
-                                                  "i206"
-                                                  "i204"
-                                                  "i202"))
-                                               #(ribcage
-                                                 (define-structure
-                                                   define-expansion-accessors
-                                                   
define-expansion-constructors)
-                                                 ((top) (top) (top))
-                                                 ("i40" "i39" "i38")))
-                                              (hygiene guile))))
-                                    #{ropt 2353}#)))
-                          #{tmp 2359}#)
-                        (let ((#{tmp 2368}#
-                                ($sc-dispatch
-                                  #{tmp 2357}#
-                                  '((any any) . any))))
-                          (if (if #{tmp 2368}#
-                                (@apply
-                                  (lambda (#{a 2372}# #{init 2373}# #{b 2374}#)
-                                    (#{id? 343}# #{a 2372}#))
-                                  #{tmp 2368}#)
-                                #f)
-                            (@apply
-                              (lambda (#{a 2378}# #{init 2379}# #{b 2380}#)
-                                (#{opt 2295}#
-                                  #{b 2380}#
-                                  #{req 2352}#
-                                  (cons (list #{a 2378}# #{init 2379}#)
-                                        #{ropt 2353}#)))
-                              #{tmp 2368}#)
-                            (let ((#{tmp 2381}#
-                                    ($sc-dispatch #{tmp 2357}# '(any . any))))
-                              (if (if #{tmp 2381}#
-                                    (@apply
-                                      (lambda (#{a 2384}# #{b 2385}#)
-                                        (eq? (syntax->datum #{a 2384}#) #:key))
-                                      #{tmp 2381}#)
-                                    #f)
-                                (@apply
-                                  (lambda (#{a 2388}# #{b 2389}#)
-                                    (#{key 2297}#
-                                      #{b 2389}#
-                                      #{req 2352}#
-                                      (reverse #{ropt 2353}#)
-                                      '()))
-                                  #{tmp 2381}#)
-                                (let ((#{tmp 2390}#
-                                        ($sc-dispatch
-                                          #{tmp 2357}#
-                                          '(any any))))
-                                  (if (if #{tmp 2390}#
-                                        (@apply
-                                          (lambda (#{a 2393}# #{b 2394}#)
-                                            (eq? (syntax->datum #{a 2393}#)
-                                                 #:rest))
-                                          #{tmp 2390}#)
-                                        #f)
-                                    (@apply
-                                      (lambda (#{a 2397}# #{b 2398}#)
-                                        (#{rest 2299}#
-                                          #{b 2398}#
-                                          #{req 2352}#
-                                          (reverse #{ropt 2353}#)
-                                          '()))
-                                      #{tmp 2390}#)
-                                    (let ((#{tmp 2399}# (list #{tmp 2357}#)))
-                                      (if (if #{tmp 2399}#
-                                            (@apply
-                                              (lambda (#{r 2401}#)
-                                                (#{id? 343}# #{r 2401}#))
-                                              #{tmp 2399}#)
-                                            #f)
-                                        (@apply
-                                          (lambda (#{r 2403}#)
-                                            (#{rest 2299}#
-                                              #{r 2403}#
-                                              #{req 2352}#
-                                              (reverse #{ropt 2353}#)
-                                              '()))
-                                          #{tmp 2399}#)
-                                        (let ((#{else 2405}# #{tmp 2357}#))
-                                          (syntax-violation
-                                            'lambda*
-                                            "invalid optional argument list"
-                                            #{orig-args 2290}#
-                                            #{args 2351}#)))))))))))))))))
-          (#{key 2297}#
-            (lambda (#{args 2406}#
-                     #{req 2407}#
-                     #{opt 2408}#
-                     #{rkey 2409}#)
-              (let ((#{tmp 2414}# #{args 2406}#))
-                (let ((#{tmp 2415}# ($sc-dispatch #{tmp 2414}# '())))
-                  (if #{tmp 2415}#
-                    (@apply
-                      (lambda ()
-                        (#{check 2301}#
-                          #{req 2407}#
-                          #{opt 2408}#
-                          #f
-                          (cons #f (reverse #{rkey 2409}#))))
-                      #{tmp 2415}#)
-                    (let ((#{tmp 2416}#
-                            ($sc-dispatch #{tmp 2414}# '(any . any))))
-                      (if (if #{tmp 2416}#
-                            (@apply
-                              (lambda (#{a 2419}# #{b 2420}#)
-                                (#{id? 343}# #{a 2419}#))
-                              #{tmp 2416}#)
-                            #f)
-                        (@apply
-                          (lambda (#{a 2423}# #{b 2424}#)
-                            (let ((#{tmp 2426}#
-                                    (symbol->keyword
-                                      (syntax->datum #{a 2423}#))))
-                              (let ((#{k 2428}# #{tmp 2426}#))
-                                (#{key 2297}#
-                                  #{b 2424}#
-                                  #{req 2407}#
-                                  #{opt 2408}#
-                                  (cons (cons #{k 2428}#
-                                              (cons #{a 2423}#
-                                                    '(#(syntax-object
-                                                        #f
-                                                        ((top)
-                                                         #(ribcage () () ())
-                                                         #(ribcage
-                                                           #(k)
-                                                           #((top))
-                                                           #("i2427"))
-                                                         #(ribcage
-                                                           #(a b)
-                                                           #((top) (top))
-                                                           #("i2421" "i2422"))
-                                                         #(ribcage () () ())
-                                                         #(ribcage
-                                                           #(args req opt rkey)
-                                                           #((top)
-                                                             (top)
-                                                             (top)
-                                                             (top))
-                                                           #("i2410"
-                                                             "i2411"
-                                                             "i2412"
-                                                             "i2413"))
-                                                         #(ribcage
-                                                           (check rest
-                                                                  key
-                                                                  opt
-                                                                  req)
-                                                           ((top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top))
-                                                           ("i2300"
-                                                            "i2298"
-                                                            "i2296"
-                                                            "i2294"
-                                                            "i2292"))
-                                                         #(ribcage
-                                                           #(orig-args)
-                                                           #((top))
-                                                           #("i2291"))
-                                                         #(ribcage
-                                                           (lambda-var-list
-                                                             gen-var
-                                                             strip
-                                                             chi-lambda-case
-                                                             lambda*-formals
-                                                             chi-simple-lambda
-                                                             lambda-formals
-                                                             ellipsis?
-                                                             chi-void
-                                                             
eval-local-transformer
-                                                             chi-local-syntax
-                                                             chi-body
-                                                             chi-macro
-                                                             chi-call
-                                                             chi-expr
-                                                             chi
-                                                             syntax-type
-                                                             chi-when-list
-                                                             chi-install-global
-                                                             chi-top-sequence
-                                                             chi-sequence
-                                                             source-wrap
-                                                             wrap
-                                                             bound-id-member?
-                                                             
distinct-bound-ids?
-                                                             valid-bound-ids?
-                                                             bound-id=?
-                                                             free-id=?
-                                                             id-var-name
-                                                             same-marks?
-                                                             join-marks
-                                                             join-wraps
-                                                             smart-append
-                                                             make-binding-wrap
-                                                             extend-ribcage!
-                                                             make-empty-ribcage
-                                                             new-mark
-                                                             anti-mark
-                                                             the-anti-mark
-                                                             top-marked?
-                                                             top-wrap
-                                                             empty-wrap
-                                                             
set-ribcage-labels!
-                                                             set-ribcage-marks!
-                                                             
set-ribcage-symnames!
-                                                             ribcage-labels
-                                                             ribcage-marks
-                                                             ribcage-symnames
-                                                             ribcage?
-                                                             make-ribcage
-                                                             gen-labels
-                                                             gen-label
-                                                             make-rename
-                                                             rename-marks
-                                                             rename-new
-                                                             rename-old
-                                                             subst-rename?
-                                                             wrap-subst
-                                                             wrap-marks
-                                                             make-wrap
-                                                             id-sym-name&marks
-                                                             id-sym-name
-                                                             id?
-                                                             nonsymbol-id?
-                                                             global-extend
-                                                             lookup
-                                                             macros-only-env
-                                                             extend-var-env
-                                                             extend-env
-                                                             null-env
-                                                             binding-value
-                                                             binding-type
-                                                             make-binding
-                                                             arg-check
-                                                             source-annotation
-                                                             no-source
-                                                             
set-syntax-object-module!
-                                                             
set-syntax-object-wrap!
-                                                             
set-syntax-object-expression!
-                                                             
syntax-object-module
-                                                             syntax-object-wrap
-                                                             
syntax-object-expression
-                                                             syntax-object?
-                                                             make-syntax-object
-                                                             build-lexical-var
-                                                             build-letrec
-                                                             build-named-let
-                                                             build-let
-                                                             build-sequence
-                                                             build-data
-                                                             build-primref
-                                                             build-primcall
-                                                             build-lambda-case
-                                                             build-case-lambda
-                                                             
build-simple-lambda
-                                                             
build-global-definition
-                                                             
build-global-assignment
-                                                             
build-global-reference
-                                                             analyze-variable
-                                                             
build-lexical-assignment
-                                                             
build-lexical-reference
-                                                             build-dynlet
-                                                             build-conditional
-                                                             build-call
-                                                             build-void
-                                                             maybe-name-value!
-                                                             decorate-source
-                                                             
get-global-definition-hook
-                                                             
put-global-definition-hook
-                                                             gensym-hook
-                                                             local-eval-hook
-                                                             
top-level-eval-hook
-                                                             fx<
-                                                             fx=
-                                                             fx-
-                                                             fx+
-                                                             set-lambda-meta!
-                                                             lambda-meta
-                                                             lambda?
-                                                             make-dynlet
-                                                             make-letrec
-                                                             make-let
-                                                             make-lambda-case
-                                                             make-lambda
-                                                             make-sequence
-                                                             make-primcall
-                                                             make-call
-                                                             make-conditional
-                                                             
make-toplevel-define
-                                                             make-toplevel-set
-                                                             make-toplevel-ref
-                                                             make-module-set
-                                                             make-module-ref
-                                                             make-lexical-set
-                                                             make-lexical-ref
-                                                             make-primitive-ref
-                                                             make-const
-                                                             make-void)
-                                                           ((top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top)
-                                                            (top))
-                                                           ("i452"
-                                                            "i450"
-                                                            "i448"
-                                                            "i446"
-                                                            "i444"
-                                                            "i442"
-                                                            "i440"
-                                                            "i438"
-                                                            "i436"
-                                                            "i434"
-                                                            "i432"
-                                                            "i430"
-                                                            "i428"
-                                                            "i426"
-                                                            "i424"
-                                                            "i422"
-                                                            "i420"
-                                                            "i418"
-                                                            "i416"
-                                                            "i414"
-                                                            "i412"
-                                                            "i410"
-                                                            "i408"
-                                                            "i406"
-                                                            "i404"
-                                                            "i402"
-                                                            "i400"
-                                                            "i398"
-                                                            "i396"
-                                                            "i394"
-                                                            "i392"
-                                                            "i390"
-                                                            "i388"
-                                                            "i386"
-                                                            "i384"
-                                                            "i383"
-                                                            "i382"
-                                                            "i380"
-                                                            "i379"
-                                                            "i378"
-                                                            "i377"
-                                                            "i376"
-                                                            "i374"
-                                                            "i372"
-                                                            "i370"
-                                                            "i368"
-                                                            "i366"
-                                                            "i364"
-                                                            "i362"
-                                                            "i360"
-                                                            "i357"
-                                                            "i355"
-                                                            "i354"
-                                                            "i353"
-                                                            "i352"
-                                                            "i351"
-                                                            "i350"
-                                                            "i349"
-                                                            "i348"
-                                                            "i347"
-                                                            "i345"
-                                                            "i344"
-                                                            "i342"
-                                                            "i340"
-                                                            "i338"
-                                                            "i336"
-                                                            "i334"
-                                                            "i332"
-                                                            "i330"
-                                                            "i329"
-                                                            "i328"
-                                                            "i327"
-                                                            "i326"
-                                                            "i325"
-                                                            "i323"
-                                                            "i322"
-                                                            "i320"
-                                                            "i318"
-                                                            "i316"
-                                                            "i314"
-                                                            "i312"
-                                                            "i310"
-                                                            "i308"
-                                                            "i306"
-                                                            "i304"
-                                                            "i302"
-                                                            "i300"
-                                                            "i298"
-                                                            "i296"
-                                                            "i294"
-                                                            "i292"
-                                                            "i290"
-                                                            "i288"
-                                                            "i286"
-                                                            "i284"
-                                                            "i282"
-                                                            "i280"
-                                                            "i278"
-                                                            "i276"
-                                                            "i274"
-                                                            "i272"
-                                                            "i270"
-                                                            "i268"
-                                                            "i266"
-                                                            "i264"
-                                                            "i262"
-                                                            "i260"
-                                                            "i258"
-                                                            "i256"
-                                                            "i255"
-                                                            "i253"
-                                                            "i251"
-                                                            "i250"
-                                                            "i249"
-                                                            "i248"
-                                                            "i247"
-                                                            "i245"
-                                                            "i243"
-                                                            "i241"
-                                                            "i238"
-                                                            "i236"
-                                                            "i234"
-                                                            "i232"
-                                                            "i230"
-                                                            "i228"
-                                                            "i226"
-                                                            "i224"
-                                                            "i222"
-                                                            "i220"
-                                                            "i218"
-                                                            "i216"
-                                                            "i214"
-                                                            "i212"
-                                                            "i210"
-                                                            "i208"
-                                                            "i206"
-                                                            "i204"
-                                                            "i202"))
-                                                         #(ribcage
-                                                           (define-structure
-                                                             
define-expansion-accessors
-                                                             
define-expansion-constructors)
-                                                           ((top) (top) (top))
-                                                           ("i40"
-                                                            "i39"
-                                                            "i38")))
-                                                        (hygiene guile)))))
-                                        #{rkey 2409}#)))))
-                          #{tmp 2416}#)
-                        (let ((#{tmp 2429}#
-                                ($sc-dispatch
-                                  #{tmp 2414}#
-                                  '((any any) . any))))
-                          (if (if #{tmp 2429}#
-                                (@apply
-                                  (lambda (#{a 2433}# #{init 2434}# #{b 2435}#)
-                                    (#{id? 343}# #{a 2433}#))
-                                  #{tmp 2429}#)
-                                #f)
-                            (@apply
-                              (lambda (#{a 2439}# #{init 2440}# #{b 2441}#)
-                                (let ((#{tmp 2443}#
-                                        (symbol->keyword
-                                          (syntax->datum #{a 2439}#))))
-                                  (let ((#{k 2445}# #{tmp 2443}#))
-                                    (#{key 2297}#
-                                      #{b 2441}#
-                                      #{req 2407}#
-                                      #{opt 2408}#
-                                      (cons (list #{k 2445}#
-                                                  #{a 2439}#
-                                                  #{init 2440}#)
-                                            #{rkey 2409}#)))))
-                              #{tmp 2429}#)
-                            (let ((#{tmp 2446}#
-                                    ($sc-dispatch
-                                      #{tmp 2414}#
-                                      '((any any any) . any))))
-                              (if (if #{tmp 2446}#
-                                    (@apply
-                                      (lambda (#{a 2451}#
-                                               #{init 2452}#
-                                               #{k 2453}#
-                                               #{b 2454}#)
-                                        (if (#{id? 343}# #{a 2451}#)
-                                          (keyword? (syntax->datum #{k 2453}#))
-                                          #f))
-                                      #{tmp 2446}#)
-                                    #f)
-                                (@apply
-                                  (lambda (#{a 2461}#
-                                           #{init 2462}#
-                                           #{k 2463}#
-                                           #{b 2464}#)
-                                    (#{key 2297}#
-                                      #{b 2464}#
-                                      #{req 2407}#
-                                      #{opt 2408}#
-                                      (cons (list #{k 2463}#
-                                                  #{a 2461}#
-                                                  #{init 2462}#)
-                                            #{rkey 2409}#)))
-                                  #{tmp 2446}#)
-                                (let ((#{tmp 2465}#
-                                        ($sc-dispatch #{tmp 2414}# '(any))))
-                                  (if (if #{tmp 2465}#
-                                        (@apply
-                                          (lambda (#{aok 2467}#)
-                                            (eq? (syntax->datum #{aok 2467}#)
-                                                 #:allow-other-keys))
-                                          #{tmp 2465}#)
-                                        #f)
-                                    (@apply
-                                      (lambda (#{aok 2469}#)
-                                        (#{check 2301}#
-                                          #{req 2407}#
-                                          #{opt 2408}#
-                                          #f
-                                          (cons #t (reverse #{rkey 2409}#))))
-                                      #{tmp 2465}#)
-                                    (let ((#{tmp 2470}#
-                                            ($sc-dispatch
-                                              #{tmp 2414}#
-                                              '(any any any))))
-                                      (if (if #{tmp 2470}#
-                                            (@apply
-                                              (lambda (#{aok 2474}#
-                                                       #{a 2475}#
-                                                       #{b 2476}#)
-                                                (if (eq? (syntax->datum
-                                                           #{aok 2474}#)
-                                                         #:allow-other-keys)
-                                                  (eq? (syntax->datum
-                                                         #{a 2475}#)
-                                                       #:rest)
-                                                  #f))
-                                              #{tmp 2470}#)
-                                            #f)
-                                        (@apply
-                                          (lambda (#{aok 2482}#
-                                                   #{a 2483}#
-                                                   #{b 2484}#)
-                                            (#{rest 2299}#
-                                              #{b 2484}#
-                                              #{req 2407}#
-                                              #{opt 2408}#
-                                              (cons #t
-                                                    (reverse #{rkey 2409}#))))
-                                          #{tmp 2470}#)
-                                        (let ((#{tmp 2485}#
-                                                ($sc-dispatch
-                                                  #{tmp 2414}#
-                                                  '(any . any))))
-                                          (if (if #{tmp 2485}#
-                                                (@apply
-                                                  (lambda (#{aok 2488}#
-                                                           #{r 2489}#)
-                                                    (if (eq? (syntax->datum
-                                                               #{aok 2488}#)
-                                                             
#:allow-other-keys)
-                                                      (#{id? 343}# #{r 2489}#)
-                                                      #f))
-                                                  #{tmp 2485}#)
-                                                #f)
-                                            (@apply
-                                              (lambda (#{aok 2494}# #{r 2495}#)
-                                                (#{rest 2299}#
-                                                  #{r 2495}#
-                                                  #{req 2407}#
-                                                  #{opt 2408}#
-                                                  (cons #t
-                                                        (reverse
-                                                          #{rkey 2409}#))))
-                                              #{tmp 2485}#)
-                                            (let ((#{tmp 2496}#
-                                                    ($sc-dispatch
-                                                      #{tmp 2414}#
-                                                      '(any any))))
-                                              (if (if #{tmp 2496}#
-                                                    (@apply
-                                                      (lambda (#{a 2499}#
-                                                               #{b 2500}#)
-                                                        (eq? (syntax->datum
-                                                               #{a 2499}#)
-                                                             #:rest))
-                                                      #{tmp 2496}#)
-                                                    #f)
-                                                (@apply
-                                                  (lambda (#{a 2503}#
-                                                           #{b 2504}#)
-                                                    (#{rest 2299}#
-                                                      #{b 2504}#
-                                                      #{req 2407}#
-                                                      #{opt 2408}#
-                                                      (cons #f
-                                                            (reverse
-                                                              #{rkey 2409}#))))
-                                                  #{tmp 2496}#)
-                                                (let ((#{tmp 2505}#
-                                                        (list #{tmp 2414}#)))
-                                                  (if (if #{tmp 2505}#
-                                                        (@apply
-                                                          (lambda (#{r 2507}#)
-                                                            (#{id? 343}#
-                                                              #{r 2507}#))
-                                                          #{tmp 2505}#)
-                                                        #f)
-                                                    (@apply
-                                                      (lambda (#{r 2509}#)
-                                                        (#{rest 2299}#
-                                                          #{r 2509}#
-                                                          #{req 2407}#
-                                                          #{opt 2408}#
-                                                          (cons #f
-                                                                (reverse
-                                                                  #{rkey 
2409}#))))
-                                                      #{tmp 2505}#)
-                                                    (let ((#{else 2511}#
-                                                            #{tmp 2414}#))
-                                                      (syntax-violation
-                                                        'lambda*
-                                                        "invalid keyword 
argument list"
-                                                        #{orig-args 2290}#
-                                                        #{args 
2406}#)))))))))))))))))))))))
-          (#{rest 2299}#
-            (lambda (#{args 2512}#
-                     #{req 2513}#
-                     #{opt 2514}#
-                     #{kw 2515}#)
-              (let ((#{tmp 2520}# #{args 2512}#))
-                (let ((#{tmp 2521}# (list #{tmp 2520}#)))
-                  (if (if #{tmp 2521}#
-                        (@apply
-                          (lambda (#{r 2523}#) (#{id? 343}# #{r 2523}#))
-                          #{tmp 2521}#)
-                        #f)
-                    (@apply
-                      (lambda (#{r 2525}#)
-                        (#{check 2301}#
-                          #{req 2513}#
-                          #{opt 2514}#
-                          #{r 2525}#
-                          #{kw 2515}#))
-                      #{tmp 2521}#)
-                    (let ((#{else 2527}# #{tmp 2520}#))
-                      (syntax-violation
-                        'lambda*
-                        "invalid rest argument"
-                        #{orig-args 2290}#
-                        #{args 2512}#)))))))
-          (#{check 2301}#
-            (lambda (#{req 2528}#
-                     #{opt 2529}#
-                     #{rest 2530}#
-                     #{kw 2531}#)
-              (if (#{distinct-bound-ids? 405}#
-                    (append
-                      #{req 2528}#
-                      (map car #{opt 2529}#)
-                      (if #{rest 2530}# (list #{rest 2530}#) '())
-                      (if (pair? #{kw 2531}#)
-                        (map cadr (cdr #{kw 2531}#))
-                        '())))
-                (values
-                  #{req 2528}#
-                  #{opt 2529}#
-                  #{rest 2530}#
-                  #{kw 2531}#)
-                (syntax-violation
-                  'lambda*
-                  "duplicate identifier in argument list"
-                  #{orig-args 2290}#)))))
-         (begin (#{req 2293}# #{orig-args 2290}# '())))))
-   (#{chi-lambda-case 447}#
-     (lambda (#{e 2539}#
-              #{r 2540}#
-              #{w 2541}#
-              #{s 2542}#
-              #{mod 2543}#
-              #{get-formals 2544}#
-              #{clauses 2545}#)
-       (letrec*
-         ((#{expand-req 2554}#
-            (lambda (#{req 2561}#
-                     #{opt 2562}#
-                     #{rest 2563}#
-                     #{kw 2564}#
-                     #{body 2565}#)
-              (begin
-                (let ((#{vars 2573}#
-                        (map #{gen-var 451}# #{req 2561}#))
-                      (#{labels 2574}#
-                        (#{gen-labels 358}# #{req 2561}#)))
-                  (begin
-                    (let ((#{r* 2577}#
-                            (#{extend-var-env 333}#
-                              #{labels 2574}#
-                              #{vars 2573}#
-                              #{r 2540}#))
-                          (#{w* 2578}#
-                            (#{make-binding-wrap 387}#
-                              #{req 2561}#
-                              #{labels 2574}#
-                              #{w 2541}#)))
-                      (#{expand-opt 2556}#
-                        (map syntax->datum #{req 2561}#)
-                        #{opt 2562}#
-                        #{rest 2563}#
-                        #{kw 2564}#
-                        #{body 2565}#
-                        (reverse #{vars 2573}#)
-                        #{r* 2577}#
-                        #{w* 2578}#
-                        '()
-                        '())))))))
-          (#{expand-opt 2556}#
-            (lambda (#{req 2579}#
-                     #{opt 2580}#
-                     #{rest 2581}#
-                     #{kw 2582}#
-                     #{body 2583}#
-                     #{vars 2584}#
-                     #{r* 2585}#
-                     #{w* 2586}#
-                     #{out 2587}#
-                     #{inits 2588}#)
-              (if (pair? #{opt 2580}#)
-                (let ((#{tmp 2601}# (car #{opt 2580}#)))
-                  (let ((#{tmp 2602}#
-                          ($sc-dispatch #{tmp 2601}# '(any any))))
-                    (if #{tmp 2602}#
-                      (@apply
-                        (lambda (#{id 2605}# #{i 2606}#)
-                          (begin
-                            (let ((#{v 2609}# (#{gen-var 451}# #{id 2605}#)))
-                              (begin
-                                (let ((#{l 2611}#
-                                        (#{gen-labels 358}#
-                                          (list #{v 2609}#))))
-                                  (begin
-                                    (let ((#{r** 2613}#
-                                            (#{extend-var-env 333}#
-                                              #{l 2611}#
-                                              (list #{v 2609}#)
-                                              #{r* 2585}#)))
-                                      (begin
-                                        (let ((#{w** 2615}#
-                                                (#{make-binding-wrap 387}#
-                                                  (list #{id 2605}#)
-                                                  #{l 2611}#
-                                                  #{w* 2586}#)))
-                                          (#{expand-opt 2556}#
-                                            #{req 2579}#
-                                            (cdr #{opt 2580}#)
-                                            #{rest 2581}#
-                                            #{kw 2582}#
-                                            #{body 2583}#
-                                            (cons #{v 2609}# #{vars 2584}#)
-                                            #{r** 2613}#
-                                            #{w** 2615}#
-                                            (cons (syntax->datum #{id 2605}#)
-                                                  #{out 2587}#)
-                                            (cons (#{chi 423}#
-                                                    #{i 2606}#
-                                                    #{r* 2585}#
-                                                    #{w* 2586}#
-                                                    #{mod 2543}#)
-                                                  #{inits 2588}#)))))))))))
-                        #{tmp 2602}#)
-                      (syntax-violation
-                        #f
-                        "source expression failed to match any pattern"
-                        #{tmp 2601}#))))
-                (if #{rest 2581}#
-                  (begin
-                    (let ((#{v 2620}# (#{gen-var 451}# #{rest 2581}#)))
-                      (begin
-                        (let ((#{l 2622}#
-                                (#{gen-labels 358}# (list #{v 2620}#))))
-                          (begin
-                            (let ((#{r* 2624}#
-                                    (#{extend-var-env 333}#
-                                      #{l 2622}#
-                                      (list #{v 2620}#)
-                                      #{r* 2585}#)))
-                              (begin
-                                (let ((#{w* 2626}#
-                                        (#{make-binding-wrap 387}#
-                                          (list #{rest 2581}#)
-                                          #{l 2622}#
-                                          #{w* 2586}#)))
-                                  (#{expand-kw 2558}#
-                                    #{req 2579}#
-                                    (if (pair? #{out 2587}#)
-                                      (reverse #{out 2587}#)
-                                      #f)
-                                    (syntax->datum #{rest 2581}#)
-                                    (if (pair? #{kw 2582}#)
-                                      (cdr #{kw 2582}#)
-                                      #{kw 2582}#)
-                                    #{body 2583}#
-                                    (cons #{v 2620}# #{vars 2584}#)
-                                    #{r* 2624}#
-                                    #{w* 2626}#
-                                    (if (pair? #{kw 2582}#)
-                                      (car #{kw 2582}#)
-                                      #f)
-                                    '()
-                                    #{inits 2588}#)))))))))
-                  (#{expand-kw 2558}#
-                    #{req 2579}#
-                    (if (pair? #{out 2587}#)
-                      (reverse #{out 2587}#)
-                      #f)
-                    #f
-                    (if (pair? #{kw 2582}#)
-                      (cdr #{kw 2582}#)
-                      #{kw 2582}#)
-                    #{body 2583}#
-                    #{vars 2584}#
-                    #{r* 2585}#
-                    #{w* 2586}#
-                    (if (pair? #{kw 2582}#) (car #{kw 2582}#) #f)
-                    '()
-                    #{inits 2588}#)))))
-          (#{expand-kw 2558}#
-            (lambda (#{req 2628}#
-                     #{opt 2629}#
-                     #{rest 2630}#
-                     #{kw 2631}#
-                     #{body 2632}#
-                     #{vars 2633}#
-                     #{r* 2634}#
-                     #{w* 2635}#
-                     #{aok 2636}#
-                     #{out 2637}#
-                     #{inits 2638}#)
-              (if (pair? #{kw 2631}#)
-                (let ((#{tmp 2652}# (car #{kw 2631}#)))
-                  (let ((#{tmp 2653}#
-                          ($sc-dispatch #{tmp 2652}# '(any any any))))
-                    (if #{tmp 2653}#
-                      (@apply
-                        (lambda (#{k 2657}# #{id 2658}# #{i 2659}#)
-                          (begin
-                            (let ((#{v 2662}# (#{gen-var 451}# #{id 2658}#)))
-                              (begin
-                                (let ((#{l 2664}#
-                                        (#{gen-labels 358}#
-                                          (list #{v 2662}#))))
-                                  (begin
-                                    (let ((#{r** 2666}#
-                                            (#{extend-var-env 333}#
-                                              #{l 2664}#
-                                              (list #{v 2662}#)
-                                              #{r* 2634}#)))
-                                      (begin
-                                        (let ((#{w** 2668}#
-                                                (#{make-binding-wrap 387}#
-                                                  (list #{id 2658}#)
-                                                  #{l 2664}#
-                                                  #{w* 2635}#)))
-                                          (#{expand-kw 2558}#
-                                            #{req 2628}#
-                                            #{opt 2629}#
-                                            #{rest 2630}#
-                                            (cdr #{kw 2631}#)
-                                            #{body 2632}#
-                                            (cons #{v 2662}# #{vars 2633}#)
-                                            #{r** 2666}#
-                                            #{w** 2668}#
-                                            #{aok 2636}#
-                                            (cons (list (syntax->datum
-                                                          #{k 2657}#)
-                                                        (syntax->datum
-                                                          #{id 2658}#)
-                                                        #{v 2662}#)
-                                                  #{out 2637}#)
-                                            (cons (#{chi 423}#
-                                                    #{i 2659}#
-                                                    #{r* 2634}#
-                                                    #{w* 2635}#
-                                                    #{mod 2543}#)
-                                                  #{inits 2638}#)))))))))))
-                        #{tmp 2653}#)
-                      (syntax-violation
-                        #f
-                        "source expression failed to match any pattern"
-                        #{tmp 2652}#))))
-                (#{expand-body 2560}#
-                  #{req 2628}#
-                  #{opt 2629}#
-                  #{rest 2630}#
-                  (if (begin
-                        (let ((#{t 2672}# #{aok 2636}#))
-                          (if #{t 2672}# #{t 2672}# (pair? #{out 2637}#))))
-                    (cons #{aok 2636}# (reverse #{out 2637}#))
-                    #f)
-                  #{body 2632}#
-                  (reverse #{vars 2633}#)
-                  #{r* 2634}#
-                  #{w* 2635}#
-                  (reverse #{inits 2638}#)
-                  '()))))
-          (#{expand-body 2560}#
-            (lambda (#{req 2674}#
-                     #{opt 2675}#
-                     #{rest 2676}#
-                     #{kw 2677}#
-                     #{body 2678}#
-                     #{vars 2679}#
-                     #{r* 2680}#
-                     #{w* 2681}#
-                     #{inits 2682}#
-                     #{meta 2683}#)
-              (let ((#{tmp 2694}# #{body 2678}#))
-                (let ((#{tmp 2695}#
-                        ($sc-dispatch #{tmp 2694}# '(any any . each-any))))
-                  (if (if #{tmp 2695}#
-                        (@apply
-                          (lambda (#{docstring 2699}# #{e1 2700}# #{e2 2701}#)
-                            (string? (syntax->datum #{docstring 2699}#)))
-                          #{tmp 2695}#)
-                        #f)
-                    (@apply
-                      (lambda (#{docstring 2705}# #{e1 2706}# #{e2 2707}#)
-                        (#{expand-body 2560}#
-                          #{req 2674}#
-                          #{opt 2675}#
-                          #{rest 2676}#
-                          #{kw 2677}#
-                          (cons #{e1 2706}# #{e2 2707}#)
-                          #{vars 2679}#
-                          #{r* 2680}#
-                          #{w* 2681}#
-                          #{inits 2682}#
-                          (append
-                            #{meta 2683}#
-                            (list (cons 'documentation
-                                        (syntax->datum #{docstring 2705}#))))))
-                      #{tmp 2695}#)
-                    (let ((#{tmp 2710}#
-                            ($sc-dispatch
-                              #{tmp 2694}#
-                              '(#(vector #(each (any . any)))
-                                any
-                                .
-                                each-any))))
-                      (if #{tmp 2710}#
-                        (@apply
-                          (lambda (#{k 2715}#
-                                   #{v 2716}#
-                                   #{e1 2717}#
-                                   #{e2 2718}#)
-                            (#{expand-body 2560}#
-                              #{req 2674}#
-                              #{opt 2675}#
-                              #{rest 2676}#
-                              #{kw 2677}#
-                              (cons #{e1 2717}# #{e2 2718}#)
-                              #{vars 2679}#
-                              #{r* 2680}#
-                              #{w* 2681}#
-                              #{inits 2682}#
-                              (append
-                                #{meta 2683}#
-                                (syntax->datum
-                                  (map cons #{k 2715}# #{v 2716}#)))))
-                          #{tmp 2710}#)
-                        (let ((#{tmp 2722}#
-                                ($sc-dispatch #{tmp 2694}# '(any . each-any))))
-                          (if #{tmp 2722}#
-                            (@apply
-                              (lambda (#{e1 2725}# #{e2 2726}#)
-                                (values
-                                  #{meta 2683}#
-                                  #{req 2674}#
-                                  #{opt 2675}#
-                                  #{rest 2676}#
-                                  #{kw 2677}#
-                                  #{inits 2682}#
-                                  #{vars 2679}#
-                                  (#{chi-body 431}#
-                                    (cons #{e1 2725}# #{e2 2726}#)
-                                    (#{source-wrap 411}#
-                                      #{e 2539}#
-                                      #{w 2541}#
-                                      #{s 2542}#
-                                      #{mod 2543}#)
-                                    #{r* 2680}#
-                                    #{w* 2681}#
-                                    #{mod 2543}#)))
-                              #{tmp 2722}#)
-                            (syntax-violation
-                              #f
-                              "source expression failed to match any pattern"
-                              #{tmp 2694}#)))))))))))
-         (begin
-           (let ((#{tmp 2728}# #{clauses 2545}#))
-             (let ((#{tmp 2729}# ($sc-dispatch #{tmp 2728}# '())))
-               (if #{tmp 2729}#
-                 (@apply (lambda () (values '() #f)) #{tmp 2729}#)
-                 (let ((#{tmp 2730}#
-                         ($sc-dispatch
-                           #{tmp 2728}#
-                           '((any any . each-any)
-                             .
-                             #(each (any any . each-any))))))
-                   (if #{tmp 2730}#
-                     (@apply
-                       (lambda (#{args 2737}#
-                                #{e1 2738}#
-                                #{e2 2739}#
-                                #{args* 2740}#
-                                #{e1* 2741}#
-                                #{e2* 2742}#)
-                         (call-with-values
-                           (lambda () (#{get-formals 2544}# #{args 2737}#))
-                           (lambda (#{req 2743}#
-                                    #{opt 2744}#
-                                    #{rest 2745}#
-                                    #{kw 2746}#)
-                             (call-with-values
-                               (lambda ()
-                                 (#{expand-req 2554}#
-                                   #{req 2743}#
-                                   #{opt 2744}#
-                                   #{rest 2745}#
-                                   #{kw 2746}#
-                                   (cons #{e1 2738}# #{e2 2739}#)))
-                               (lambda (#{meta 2752}#
-                                        #{req 2753}#
-                                        #{opt 2754}#
-                                        #{rest 2755}#
-                                        #{kw 2756}#
-                                        #{inits 2757}#
-                                        #{vars 2758}#
-                                        #{body 2759}#)
-                                 (call-with-values
-                                   (lambda ()
-                                     (#{chi-lambda-case 447}#
-                                       #{e 2539}#
-                                       #{r 2540}#
-                                       #{w 2541}#
-                                       #{s 2542}#
-                                       #{mod 2543}#
-                                       #{get-formals 2544}#
-                                       (map (lambda (#{tmp 2770}#
-                                                     #{tmp 2769}#
-                                                     #{tmp 2768}#)
-                                              (cons #{tmp 2768}#
-                                                    (cons #{tmp 2769}#
-                                                          #{tmp 2770}#)))
-                                            #{e2* 2742}#
-                                            #{e1* 2741}#
-                                            #{args* 2740}#)))
-                                   (lambda (#{meta* 2772}# #{else* 2773}#)
-                                     (values
-                                       (append #{meta 2752}# #{meta* 2772}#)
-                                       (#{build-lambda-case 289}#
-                                         #{s 2542}#
-                                         #{req 2753}#
-                                         #{opt 2754}#
-                                         #{rest 2755}#
-                                         #{kw 2756}#
-                                         #{inits 2757}#
-                                         #{vars 2758}#
-                                         #{body 2759}#
-                                         #{else* 2773}#)))))))))
-                       #{tmp 2730}#)
-                     (syntax-violation
-                       #f
-                       "source expression failed to match any pattern"
-                       #{tmp 2728}#))))))))))
-   (#{strip 449}#
-     (lambda (#{x 2776}# #{w 2777}#)
-       (if (memq 'top (car #{w 2777}#))
-         #{x 2776}#
-         (letrec*
-           ((#{f 2784}#
-              (lambda (#{x 2785}#)
-                (if (#{syntax-object? 309}# #{x 2785}#)
-                  (#{strip 449}#
-                    (#{syntax-object-expression 311}# #{x 2785}#)
-                    (#{syntax-object-wrap 313}# #{x 2785}#))
-                  (if (pair? #{x 2785}#)
-                    (begin
-                      (let ((#{a 2792}# (#{f 2784}# (car #{x 2785}#)))
-                            (#{d 2793}# (#{f 2784}# (cdr #{x 2785}#))))
-                        (if (if (eq? #{a 2792}# (car #{x 2785}#))
-                              (eq? #{d 2793}# (cdr #{x 2785}#))
-                              #f)
-                          #{x 2785}#
-                          (cons #{a 2792}# #{d 2793}#))))
-                    (if (vector? #{x 2785}#)
-                      (begin
-                        (let ((#{old 2799}# (vector->list #{x 2785}#)))
-                          (begin
-                            (let ((#{new 2801}# (map #{f 2784}# #{old 2799}#)))
-                              (letrec*
-                                ((#{lp 2805}#
-                                   (lambda (#{l1 2806}# #{l2 2807}#)
-                                     (if (null? #{l1 2806}#)
-                                       #{x 2785}#
-                                       (if (eq? (car #{l1 2806}#)
-                                                (car #{l2 2807}#))
-                                         (#{lp 2805}#
-                                           (cdr #{l1 2806}#)
-                                           (cdr #{l2 2807}#))
-                                         (list->vector #{new 2801}#))))))
-                                (begin
-                                  (#{lp 2805}# #{old 2799}# #{new 2801}#)))))))
-                      #{x 2785}#))))))
-           (begin (#{f 2784}# #{x 2776}#))))))
-   (#{gen-var 451}#
-     (lambda (#{id 2809}#)
-       (begin
-         (let ((#{id 2812}#
-                 (if (#{syntax-object? 309}# #{id 2809}#)
-                   (#{syntax-object-expression 311}# #{id 2809}#)
-                   #{id 2809}#)))
-           (gensym
-             (string-append (symbol->string #{id 2812}#) " "))))))
-   (#{lambda-var-list 453}#
-     (lambda (#{vars 2814}#)
-       (letrec*
-         ((#{lvl 2820}#
-            (lambda (#{vars 2821}# #{ls 2822}# #{w 2823}#)
-              (if (pair? #{vars 2821}#)
-                (#{lvl 2820}#
-                  (cdr #{vars 2821}#)
-                  (cons (#{wrap 409}# (car #{vars 2821}#) #{w 2823}# #f)
-                        #{ls 2822}#)
-                  #{w 2823}#)
-                (if (#{id? 343}# #{vars 2821}#)
-                  (cons (#{wrap 409}# #{vars 2821}# #{w 2823}# #f)
-                        #{ls 2822}#)
-                  (if (null? #{vars 2821}#)
-                    #{ls 2822}#
-                    (if (#{syntax-object? 309}# #{vars 2821}#)
-                      (#{lvl 2820}#
-                        (#{syntax-object-expression 311}# #{vars 2821}#)
-                        #{ls 2822}#
-                        (#{join-wraps 391}#
-                          #{w 2823}#
-                          (#{syntax-object-wrap 313}# #{vars 2821}#)))
-                      (cons #{vars 2821}# #{ls 2822}#))))))))
-         (begin (#{lvl 2820}# #{vars 2814}# '() '(())))))))
-  (begin
-    (lambda (#{x 1161}# #{update 1162}#)
-      (vector-set! #{x 1161}# 1 #{update 1162}#))
-    (lambda (#{x 1165}# #{update 1166}#)
-      (vector-set! #{x 1165}# 2 #{update 1166}#))
-    (lambda (#{x 1169}# #{update 1170}#)
-      (vector-set! #{x 1169}# 3 #{update 1170}#))
-    (lambda (#{x 1250}#)
-      (if (vector? #{x 1250}#)
-        (if (= (vector-length #{x 1250}#) 4)
-          (eq? (vector-ref #{x 1250}# 0) 'ribcage)
-          #f)
-        #f))
-    (begin
-      (#{global-extend 339}#
-        'local-syntax
-        'letrec-syntax
-        #t)
-      (#{global-extend 339}#
-        'local-syntax
-        'let-syntax
-        #f)
-      (#{global-extend 339}#
-        'core
-        'fluid-let-syntax
-        (lambda (#{e 2834}#
-                 #{r 2835}#
-                 #{w 2836}#
-                 #{s 2837}#
-                 #{mod 2838}#)
-          (let ((#{tmp 2844}# #{e 2834}#))
-            (let ((#{tmp 2845}#
-                    ($sc-dispatch
-                      #{tmp 2844}#
-                      '(_ #(each (any any)) any . each-any))))
-              (if (if #{tmp 2845}#
-                    (@apply
-                      (lambda (#{var 2850}#
-                               #{val 2851}#
-                               #{e1 2852}#
-                               #{e2 2853}#)
-                        (#{valid-bound-ids? 403}# #{var 2850}#))
-                      #{tmp 2845}#)
-                    #f)
-                (@apply
-                  (lambda (#{var 2859}#
-                           #{val 2860}#
-                           #{e1 2861}#
-                           #{e2 2862}#)
-                    (begin
-                      (let ((#{names 2864}#
-                              (map (lambda (#{x 2865}#)
-                                     (#{id-var-name 397}#
-                                       #{x 2865}#
-                                       #{w 2836}#))
-                                   #{var 2859}#)))
-                        (begin
-                          (for-each
-                            (lambda (#{id 2868}# #{n 2869}#)
-                              (begin
-                                (let ((#{atom-key 2874}#
-                                        (car (#{lookup 337}#
-                                               #{n 2869}#
-                                               #{r 2835}#
-                                               #{mod 2838}#))))
-                                  (if (memv #{atom-key 2874}#
-                                            '(displaced-lexical))
-                                    (syntax-violation
-                                      'fluid-let-syntax
-                                      "identifier out of context"
-                                      #{e 2834}#
-                                      (#{source-wrap 411}#
-                                        #{id 2868}#
-                                        #{w 2836}#
-                                        #{s 2837}#
-                                        #{mod 2838}#))))))
-                            #{var 2859}#
-                            #{names 2864}#)
-                          (#{chi-body 431}#
-                            (cons #{e1 2861}# #{e2 2862}#)
-                            (#{source-wrap 411}#
-                              #{e 2834}#
-                              #{w 2836}#
-                              #{s 2837}#
-                              #{mod 2838}#)
-                            (#{extend-env 331}#
-                              #{names 2864}#
-                              (begin
-                                (let ((#{trans-r 2880}#
-                                        (#{macros-only-env 335}# #{r 2835}#)))
-                                  (map (lambda (#{x 2881}#)
-                                         (cons 'macro
-                                               (#{eval-local-transformer 435}#
-                                                 (#{chi 423}#
-                                                   #{x 2881}#
-                                                   #{trans-r 2880}#
-                                                   #{w 2836}#
-                                                   #{mod 2838}#)
-                                                 #{mod 2838}#)))
-                                       #{val 2860}#)))
-                              #{r 2835}#)
-                            #{w 2836}#
-                            #{mod 2838}#)))))
-                  #{tmp 2845}#)
-                (let ((#{_ 2886}# #{tmp 2844}#))
-                  (syntax-violation
-                    'fluid-let-syntax
-                    "bad syntax"
-                    (#{source-wrap 411}#
-                      #{e 2834}#
-                      #{w 2836}#
-                      #{s 2837}#
-                      #{mod 2838}#))))))))
-      (#{global-extend 339}#
-        'core
-        'quote
-        (lambda (#{e 2887}#
-                 #{r 2888}#
-                 #{w 2889}#
-                 #{s 2890}#
-                 #{mod 2891}#)
-          (let ((#{tmp 2897}# #{e 2887}#))
-            (let ((#{tmp 2898}#
-                    ($sc-dispatch #{tmp 2897}# '(_ any))))
-              (if #{tmp 2898}#
-                (@apply
-                  (lambda (#{e 2900}#)
-                    (#{build-data 295}#
-                      #{s 2890}#
-                      (#{strip 449}# #{e 2900}# #{w 2889}#)))
-                  #{tmp 2898}#)
-                (let ((#{_ 2902}# #{tmp 2897}#))
-                  (syntax-violation
-                    'quote
-                    "bad syntax"
-                    (#{source-wrap 411}#
-                      #{e 2887}#
-                      #{w 2889}#
-                      #{s 2890}#
-                      #{mod 2891}#))))))))
-      (#{global-extend 339}#
-        'core
-        'syntax
-        (letrec*
-          ((#{gen-syntax 2904}#
-             (lambda (#{src 2919}#
-                      #{e 2920}#
-                      #{r 2921}#
-                      #{maps 2922}#
-                      #{ellipsis? 2923}#
-                      #{mod 2924}#)
-               (if (#{id? 343}# #{e 2920}#)
-                 (begin
-                   (let ((#{label 2932}#
-                           (#{id-var-name 397}# #{e 2920}# '(()))))
-                     (begin
-                       (let ((#{b 2935}#
-                               (#{lookup 337}#
-                                 #{label 2932}#
-                                 #{r 2921}#
-                                 #{mod 2924}#)))
-                         (if (eq? (car #{b 2935}#) 'syntax)
-                           (call-with-values
-                             (lambda ()
-                               (begin
-                                 (let ((#{var.lev 2938}# (cdr #{b 2935}#)))
-                                   (#{gen-ref 2906}#
-                                     #{src 2919}#
-                                     (car #{var.lev 2938}#)
-                                     (cdr #{var.lev 2938}#)
-                                     #{maps 2922}#))))
-                             (lambda (#{var 2940}# #{maps 2941}#)
-                               (values
-                                 (list 'ref #{var 2940}#)
-                                 #{maps 2941}#)))
-                           (if (#{ellipsis? 2923}# #{e 2920}#)
-                             (syntax-violation
-                               'syntax
-                               "misplaced ellipsis"
-                               #{src 2919}#)
-                             (values
-                               (list 'quote #{e 2920}#)
-                               #{maps 2922}#)))))))
-                 (let ((#{tmp 2946}# #{e 2920}#))
-                   (let ((#{tmp 2947}#
-                           ($sc-dispatch #{tmp 2946}# '(any any))))
-                     (if (if #{tmp 2947}#
-                           (@apply
-                             (lambda (#{dots 2950}# #{e 2951}#)
-                               (#{ellipsis? 2923}# #{dots 2950}#))
-                             #{tmp 2947}#)
-                           #f)
-                       (@apply
-                         (lambda (#{dots 2954}# #{e 2955}#)
-                           (#{gen-syntax 2904}#
-                             #{src 2919}#
-                             #{e 2955}#
-                             #{r 2921}#
-                             #{maps 2922}#
-                             (lambda (#{x 2956}#) #f)
-                             #{mod 2924}#))
-                         #{tmp 2947}#)
-                       (let ((#{tmp 2958}#
-                               ($sc-dispatch #{tmp 2946}# '(any any . any))))
-                         (if (if #{tmp 2958}#
-                               (@apply
-                                 (lambda (#{x 2962}# #{dots 2963}# #{y 2964}#)
-                                   (#{ellipsis? 2923}# #{dots 2963}#))
-                                 #{tmp 2958}#)
-                               #f)
-                           (@apply
-                             (lambda (#{x 2968}# #{dots 2969}# #{y 2970}#)
-                               (letrec*
-                                 ((#{f 2974}#
-                                    (lambda (#{y 2975}# #{k 2976}#)
-                                      (let ((#{tmp 2983}# #{y 2975}#))
-                                        (let ((#{tmp 2984}#
-                                                ($sc-dispatch
-                                                  #{tmp 2983}#
-                                                  '(any . any))))
-                                          (if (if #{tmp 2984}#
-                                                (@apply
-                                                  (lambda (#{dots 2987}#
-                                                           #{y 2988}#)
-                                                    (#{ellipsis? 2923}#
-                                                      #{dots 2987}#))
-                                                  #{tmp 2984}#)
-                                                #f)
-                                            (@apply
-                                              (lambda (#{dots 2991}#
-                                                       #{y 2992}#)
-                                                (#{f 2974}#
-                                                  #{y 2992}#
-                                                  (lambda (#{maps 2993}#)
-                                                    (call-with-values
-                                                      (lambda ()
-                                                        (#{k 2976}#
-                                                          (cons '()
-                                                                #{maps 
2993}#)))
-                                                      (lambda (#{x 2995}#
-                                                               #{maps 2996}#)
-                                                        (if (null? (car #{maps 
2996}#))
-                                                          (syntax-violation
-                                                            'syntax
-                                                            "extra ellipsis"
-                                                            #{src 2919}#)
-                                                          (values
-                                                            (#{gen-mappend 
2908}#
-                                                              #{x 2995}#
-                                                              (car #{maps 
2996}#))
-                                                            (cdr #{maps 
2996}#))))))))
-                                              #{tmp 2984}#)
-                                            (let ((#{_ 3000}# #{tmp 2983}#))
-                                              (call-with-values
-                                                (lambda ()
-                                                  (#{gen-syntax 2904}#
-                                                    #{src 2919}#
-                                                    #{y 2975}#
-                                                    #{r 2921}#
-                                                    #{maps 2922}#
-                                                    #{ellipsis? 2923}#
-                                                    #{mod 2924}#))
-                                                (lambda (#{y 3001}#
-                                                         #{maps 3002}#)
-                                                  (call-with-values
-                                                    (lambda ()
-                                                      (#{k 2976}#
-                                                        #{maps 3002}#))
-                                                    (lambda (#{x 3005}#
-                                                             #{maps 3006}#)
-                                                      (values
-                                                        (#{gen-append 2914}#
-                                                          #{x 3005}#
-                                                          #{y 3001}#)
-                                                        #{maps 
3006}#))))))))))))
-                                 (begin
-                                   (#{f 2974}#
-                                     #{y 2970}#
-                                     (lambda (#{maps 2977}#)
-                                       (call-with-values
-                                         (lambda ()
-                                           (#{gen-syntax 2904}#
-                                             #{src 2919}#
-                                             #{x 2968}#
-                                             #{r 2921}#
-                                             (cons '() #{maps 2977}#)
-                                             #{ellipsis? 2923}#
-                                             #{mod 2924}#))
-                                         (lambda (#{x 2979}# #{maps 2980}#)
-                                           (if (null? (car #{maps 2980}#))
-                                             (syntax-violation
-                                               'syntax
-                                               "extra ellipsis"
-                                               #{src 2919}#)
-                                             (values
-                                               (#{gen-map 2910}#
-                                                 #{x 2979}#
-                                                 (car #{maps 2980}#))
-                                               (cdr #{maps 2980}#))))))))))
-                             #{tmp 2958}#)
-                           (let ((#{tmp 3009}#
-                                   ($sc-dispatch #{tmp 2946}# '(any . any))))
-                             (if #{tmp 3009}#
-                               (@apply
-                                 (lambda (#{x 3012}# #{y 3013}#)
-                                   (call-with-values
-                                     (lambda ()
-                                       (#{gen-syntax 2904}#
-                                         #{src 2919}#
-                                         #{x 3012}#
-                                         #{r 2921}#
-                                         #{maps 2922}#
-                                         #{ellipsis? 2923}#
-                                         #{mod 2924}#))
-                                     (lambda (#{x 3014}# #{maps 3015}#)
-                                       (call-with-values
-                                         (lambda ()
-                                           (#{gen-syntax 2904}#
-                                             #{src 2919}#
-                                             #{y 3013}#
-                                             #{r 2921}#
-                                             #{maps 3015}#
-                                             #{ellipsis? 2923}#
-                                             #{mod 2924}#))
-                                         (lambda (#{y 3018}# #{maps 3019}#)
-                                           (values
-                                             (#{gen-cons 2912}#
-                                               #{x 3014}#
-                                               #{y 3018}#)
-                                             #{maps 3019}#))))))
-                                 #{tmp 3009}#)
-                               (let ((#{tmp 3022}#
-                                       ($sc-dispatch
-                                         #{tmp 2946}#
-                                         '#(vector (any . each-any)))))
-                                 (if #{tmp 3022}#
-                                   (@apply
-                                     (lambda (#{e1 3025}# #{e2 3026}#)
-                                       (call-with-values
-                                         (lambda ()
-                                           (#{gen-syntax 2904}#
-                                             #{src 2919}#
-                                             (cons #{e1 3025}# #{e2 3026}#)
-                                             #{r 2921}#
-                                             #{maps 2922}#
-                                             #{ellipsis? 2923}#
-                                             #{mod 2924}#))
-                                         (lambda (#{e 3028}# #{maps 3029}#)
-                                           (values
-                                             (#{gen-vector 2916}# #{e 3028}#)
-                                             #{maps 3029}#))))
-                                     #{tmp 3022}#)
-                                   (let ((#{_ 3033}# #{tmp 2946}#))
-                                     (values
-                                       (list 'quote #{e 2920}#)
-                                       #{maps 2922}#))))))))))))))
-           (#{gen-ref 2906}#
-             (lambda (#{src 3035}#
-                      #{var 3036}#
-                      #{level 3037}#
-                      #{maps 3038}#)
-               (if (= #{level 3037}# 0)
-                 (values #{var 3036}# #{maps 3038}#)
-                 (if (null? #{maps 3038}#)
-                   (syntax-violation
-                     'syntax
-                     "missing ellipsis"
-                     #{src 3035}#)
-                   (call-with-values
-                     (lambda ()
-                       (#{gen-ref 2906}#
-                         #{src 3035}#
-                         #{var 3036}#
-                         (#{1-}# #{level 3037}#)
-                         (cdr #{maps 3038}#)))
-                     (lambda (#{outer-var 3045}# #{outer-maps 3046}#)
-                       (begin
-                         (let ((#{b 3050}#
-                                 (assq #{outer-var 3045}#
-                                       (car #{maps 3038}#))))
-                           (if #{b 3050}#
-                             (values (cdr #{b 3050}#) #{maps 3038}#)
-                             (begin
-                               (let ((#{inner-var 3052}#
-                                       (#{gen-var 451}# 'tmp)))
-                                 (values
-                                   #{inner-var 3052}#
-                                   (cons (cons (cons #{outer-var 3045}#
-                                                     #{inner-var 3052}#)
-                                               (car #{maps 3038}#))
-                                         #{outer-maps 3046}#)))))))))))))
-           (#{gen-mappend 2908}#
-             (lambda (#{e 3053}# #{map-env 3054}#)
-               (list 'apply
-                     '(primitive append)
-                     (#{gen-map 2910}# #{e 3053}# #{map-env 3054}#))))
-           (#{gen-map 2910}#
-             (lambda (#{e 3058}# #{map-env 3059}#)
-               (begin
-                 (let ((#{formals 3064}# (map cdr #{map-env 3059}#))
-                       (#{actuals 3065}#
-                         (map (lambda (#{x 3066}#)
-                                (list 'ref (car #{x 3066}#)))
-                              #{map-env 3059}#)))
-                   (if (eq? (car #{e 3058}#) 'ref)
-                     (car #{actuals 3065}#)
-                     (if (and-map
-                           (lambda (#{x 3073}#)
-                             (if (eq? (car #{x 3073}#) 'ref)
-                               (memq (car (cdr #{x 3073}#)) #{formals 3064}#)
-                               #f))
-                           (cdr #{e 3058}#))
-                       (cons 'map
-                             (cons (list 'primitive (car #{e 3058}#))
-                                   (map (begin
-                                          (let ((#{r 3079}#
-                                                  (map cons
-                                                       #{formals 3064}#
-                                                       #{actuals 3065}#)))
-                                            (lambda (#{x 3080}#)
-                                              (cdr (assq (car (cdr #{x 3080}#))
-                                                         #{r 3079}#)))))
-                                        (cdr #{e 3058}#))))
-                       (cons 'map
-                             (cons (list 'lambda #{formals 3064}# #{e 3058}#)
-                                   #{actuals 3065}#))))))))
-           (#{gen-cons 2912}#
-             (lambda (#{x 3084}# #{y 3085}#)
-               (begin
-                 (let ((#{atom-key 3090}# (car #{y 3085}#)))
-                   (if (memv #{atom-key 3090}# '(quote))
-                     (if (eq? (car #{x 3084}#) 'quote)
-                       (list 'quote
-                             (cons (car (cdr #{x 3084}#))
-                                   (car (cdr #{y 3085}#))))
-                       (if (eq? (car (cdr #{y 3085}#)) '())
-                         (list 'list #{x 3084}#)
-                         (list 'cons #{x 3084}# #{y 3085}#)))
-                     (if (memv #{atom-key 3090}# '(list))
-                       (cons 'list (cons #{x 3084}# (cdr #{y 3085}#)))
-                       (list 'cons #{x 3084}# #{y 3085}#)))))))
-           (#{gen-append 2914}#
-             (lambda (#{x 3099}# #{y 3100}#)
-               (if (equal? #{y 3100}# ''())
-                 #{x 3099}#
-                 (list 'append #{x 3099}# #{y 3100}#))))
-           (#{gen-vector 2916}#
-             (lambda (#{x 3104}#)
-               (if (eq? (car #{x 3104}#) 'list)
-                 (cons 'vector (cdr #{x 3104}#))
-                 (if (eq? (car #{x 3104}#) 'quote)
-                   (list 'quote
-                         (list->vector (car (cdr #{x 3104}#))))
-                   (list 'list->vector #{x 3104}#)))))
-           (#{regen 2918}#
-             (lambda (#{x 3114}#)
-               (begin
-                 (let ((#{atom-key 3118}# (car #{x 3114}#)))
-                   (if (memv #{atom-key 3118}# '(ref))
-                     (#{build-lexical-reference 273}#
-                       'value
-                       #f
-                       (car (cdr #{x 3114}#))
-                       (car (cdr #{x 3114}#)))
-                     (if (memv #{atom-key 3118}# '(primitive))
-                       (#{build-primref 293}# #f (car (cdr #{x 3114}#)))
-                       (if (memv #{atom-key 3118}# '(quote))
-                         (#{build-data 295}# #f (car (cdr #{x 3114}#)))
-                         (if (memv #{atom-key 3118}# '(lambda))
-                           (if (list? (car (cdr #{x 3114}#)))
-                             (#{build-simple-lambda 285}#
-                               #f
-                               (car (cdr #{x 3114}#))
-                               #f
-                               (car (cdr #{x 3114}#))
-                               '()
-                               (#{regen 2918}# (car (cdr (cdr #{x 3114}#)))))
-                             (error "how did we get here" #{x 3114}#))
-                           (#{build-primcall 291}#
-                             #f
-                             (car #{x 3114}#)
-                             (map #{regen 2918}# (cdr #{x 3114}#))))))))))))
-          (begin
-            (lambda (#{e 3129}#
-                     #{r 3130}#
-                     #{w 3131}#
-                     #{s 3132}#
-                     #{mod 3133}#)
-              (begin
-                (let ((#{e 3140}#
-                        (#{source-wrap 411}#
-                          #{e 3129}#
-                          #{w 3131}#
-                          #{s 3132}#
-                          #{mod 3133}#)))
-                  (let ((#{tmp 3141}# #{e 3140}#))
-                    (let ((#{tmp 3142}#
-                            ($sc-dispatch #{tmp 3141}# '(_ any))))
-                      (if #{tmp 3142}#
-                        (@apply
-                          (lambda (#{x 3144}#)
-                            (call-with-values
-                              (lambda ()
-                                (#{gen-syntax 2904}#
-                                  #{e 3140}#
-                                  #{x 3144}#
-                                  #{r 3130}#
-                                  '()
-                                  #{ellipsis? 439}#
-                                  #{mod 3133}#))
-                              (lambda (#{e 3145}# #{maps 3146}#)
-                                (#{regen 2918}# #{e 3145}#))))
-                          #{tmp 3142}#)
-                        (let ((#{_ 3150}# #{tmp 3141}#))
-                          (syntax-violation
-                            'syntax
-                            "bad `syntax' form"
-                            #{e 3140}#)))))))))))
-      (#{global-extend 339}#
-        'core
-        'lambda
-        (lambda (#{e 3151}#
-                 #{r 3152}#
-                 #{w 3153}#
-                 #{s 3154}#
-                 #{mod 3155}#)
-          (let ((#{tmp 3161}# #{e 3151}#))
-            (let ((#{tmp 3162}#
-                    ($sc-dispatch
-                      #{tmp 3161}#
-                      '(_ any any . each-any))))
-              (if #{tmp 3162}#
-                (@apply
-                  (lambda (#{args 3166}# #{e1 3167}# #{e2 3168}#)
-                    (call-with-values
-                      (lambda ()
-                        (#{lambda-formals 441}# #{args 3166}#))
-                      (lambda (#{req 3169}#
-                               #{opt 3170}#
-                               #{rest 3171}#
-                               #{kw 3172}#)
-                        (letrec*
-                          ((#{lp 3180}#
-                             (lambda (#{body 3181}# #{meta 3182}#)
-                               (let ((#{tmp 3184}# #{body 3181}#))
-                                 (let ((#{tmp 3185}#
-                                         ($sc-dispatch
-                                           #{tmp 3184}#
-                                           '(any any . each-any))))
-                                   (if (if #{tmp 3185}#
-                                         (@apply
-                                           (lambda (#{docstring 3189}#
-                                                    #{e1 3190}#
-                                                    #{e2 3191}#)
-                                             (string?
-                                               (syntax->datum
-                                                 #{docstring 3189}#)))
-                                           #{tmp 3185}#)
-                                         #f)
-                                     (@apply
-                                       (lambda (#{docstring 3195}#
-                                                #{e1 3196}#
-                                                #{e2 3197}#)
-                                         (#{lp 3180}#
-                                           (cons #{e1 3196}# #{e2 3197}#)
-                                           (append
-                                             #{meta 3182}#
-                                             (list (cons 'documentation
-                                                         (syntax->datum
-                                                           #{docstring 
3195}#))))))
-                                       #{tmp 3185}#)
-                                     (let ((#{tmp 3200}#
-                                             ($sc-dispatch
-                                               #{tmp 3184}#
-                                               '(#(vector #(each (any . any)))
-                                                 any
-                                                 .
-                                                 each-any))))
-                                       (if #{tmp 3200}#
-                                         (@apply
-                                           (lambda (#{k 3205}#
-                                                    #{v 3206}#
-                                                    #{e1 3207}#
-                                                    #{e2 3208}#)
-                                             (#{lp 3180}#
-                                               (cons #{e1 3207}# #{e2 3208}#)
-                                               (append
-                                                 #{meta 3182}#
-                                                 (syntax->datum
-                                                   (map cons
-                                                        #{k 3205}#
-                                                        #{v 3206}#)))))
-                                           #{tmp 3200}#)
-                                         (let ((#{_ 3213}# #{tmp 3184}#))
-                                           (#{chi-simple-lambda 443}#
-                                             #{e 3151}#
-                                             #{r 3152}#
-                                             #{w 3153}#
-                                             #{s 3154}#
-                                             #{mod 3155}#
-                                             #{req 3169}#
-                                             #{rest 3171}#
-                                             #{meta 3182}#
-                                             #{body 3181}#))))))))))
-                          (begin
-                            (#{lp 3180}#
-                              (cons #{e1 3167}# #{e2 3168}#)
-                              '()))))))
-                  #{tmp 3162}#)
-                (let ((#{_ 3215}# #{tmp 3161}#))
-                  (syntax-violation
-                    'lambda
-                    "bad lambda"
-                    #{e 3151}#)))))))
-      (#{global-extend 339}#
-        'core
-        'lambda*
-        (lambda (#{e 3216}#
-                 #{r 3217}#
-                 #{w 3218}#
-                 #{s 3219}#
-                 #{mod 3220}#)
-          (let ((#{tmp 3226}# #{e 3216}#))
-            (let ((#{tmp 3227}#
-                    ($sc-dispatch
-                      #{tmp 3226}#
-                      '(_ any any . each-any))))
-              (if #{tmp 3227}#
-                (@apply
-                  (lambda (#{args 3231}# #{e1 3232}# #{e2 3233}#)
-                    (call-with-values
-                      (lambda ()
-                        (#{chi-lambda-case 447}#
-                          #{e 3216}#
-                          #{r 3217}#
-                          #{w 3218}#
-                          #{s 3219}#
-                          #{mod 3220}#
-                          #{lambda*-formals 445}#
-                          (list (cons #{args 3231}#
-                                      (cons #{e1 3232}# #{e2 3233}#)))))
-                      (lambda (#{meta 3235}# #{lcase 3236}#)
-                        (#{build-case-lambda 287}#
-                          #{s 3219}#
-                          #{meta 3235}#
-                          #{lcase 3236}#))))
-                  #{tmp 3227}#)
-                (let ((#{_ 3240}# #{tmp 3226}#))
-                  (syntax-violation
-                    'lambda
-                    "bad lambda*"
-                    #{e 3216}#)))))))
-      (#{global-extend 339}#
-        'core
-        'case-lambda
-        (lambda (#{e 3241}#
-                 #{r 3242}#
-                 #{w 3243}#
-                 #{s 3244}#
-                 #{mod 3245}#)
-          (let ((#{tmp 3251}# #{e 3241}#))
-            (let ((#{tmp 3252}#
-                    ($sc-dispatch
-                      #{tmp 3251}#
-                      '(_ (any any . each-any)
-                          .
-                          #(each (any any . each-any))))))
-              (if #{tmp 3252}#
-                (@apply
-                  (lambda (#{args 3259}#
-                           #{e1 3260}#
-                           #{e2 3261}#
-                           #{args* 3262}#
-                           #{e1* 3263}#
-                           #{e2* 3264}#)
-                    (call-with-values
-                      (lambda ()
-                        (#{chi-lambda-case 447}#
-                          #{e 3241}#
-                          #{r 3242}#
-                          #{w 3243}#
-                          #{s 3244}#
-                          #{mod 3245}#
-                          #{lambda-formals 441}#
-                          (cons (cons #{args 3259}#
-                                      (cons #{e1 3260}# #{e2 3261}#))
-                                (map (lambda (#{tmp 3268}#
-                                              #{tmp 3267}#
-                                              #{tmp 3266}#)
-                                       (cons #{tmp 3266}#
-                                             (cons #{tmp 3267}# #{tmp 3268}#)))
-                                     #{e2* 3264}#
-                                     #{e1* 3263}#
-                                     #{args* 3262}#))))
-                      (lambda (#{meta 3270}# #{lcase 3271}#)
-                        (#{build-case-lambda 287}#
-                          #{s 3244}#
-                          #{meta 3270}#
-                          #{lcase 3271}#))))
-                  #{tmp 3252}#)
-                (let ((#{_ 3275}# #{tmp 3251}#))
-                  (syntax-violation
-                    'case-lambda
-                    "bad case-lambda"
-                    #{e 3241}#)))))))
-      (#{global-extend 339}#
-        'core
-        'case-lambda*
-        (lambda (#{e 3276}#
-                 #{r 3277}#
-                 #{w 3278}#
-                 #{s 3279}#
-                 #{mod 3280}#)
-          (let ((#{tmp 3286}# #{e 3276}#))
-            (let ((#{tmp 3287}#
-                    ($sc-dispatch
-                      #{tmp 3286}#
-                      '(_ (any any . each-any)
-                          .
-                          #(each (any any . each-any))))))
-              (if #{tmp 3287}#
-                (@apply
-                  (lambda (#{args 3294}#
-                           #{e1 3295}#
-                           #{e2 3296}#
-                           #{args* 3297}#
-                           #{e1* 3298}#
-                           #{e2* 3299}#)
-                    (call-with-values
-                      (lambda ()
-                        (#{chi-lambda-case 447}#
-                          #{e 3276}#
-                          #{r 3277}#
-                          #{w 3278}#
-                          #{s 3279}#
-                          #{mod 3280}#
-                          #{lambda*-formals 445}#
-                          (cons (cons #{args 3294}#
-                                      (cons #{e1 3295}# #{e2 3296}#))
-                                (map (lambda (#{tmp 3303}#
-                                              #{tmp 3302}#
-                                              #{tmp 3301}#)
-                                       (cons #{tmp 3301}#
-                                             (cons #{tmp 3302}# #{tmp 3303}#)))
-                                     #{e2* 3299}#
-                                     #{e1* 3298}#
-                                     #{args* 3297}#))))
-                      (lambda (#{meta 3305}# #{lcase 3306}#)
-                        (#{build-case-lambda 287}#
-                          #{s 3279}#
-                          #{meta 3305}#
-                          #{lcase 3306}#))))
-                  #{tmp 3287}#)
-                (let ((#{_ 3310}# #{tmp 3286}#))
-                  (syntax-violation
-                    'case-lambda
-                    "bad case-lambda*"
-                    #{e 3276}#)))))))
-      (#{global-extend 339}#
-        'core
-        'let
-        (letrec*
-          ((#{chi-let 3312}#
-             (lambda (#{e 3313}#
-                      #{r 3314}#
-                      #{w 3315}#
-                      #{s 3316}#
-                      #{mod 3317}#
-                      #{constructor 3318}#
-                      #{ids 3319}#
-                      #{vals 3320}#
-                      #{exps 3321}#)
-               (if (not (#{valid-bound-ids? 403}# #{ids 3319}#))
-                 (syntax-violation
-                   'let
-                   "duplicate bound variable"
-                   #{e 3313}#)
-                 (begin
-                   (let ((#{labels 3333}#
-                           (#{gen-labels 358}# #{ids 3319}#))
-                         (#{new-vars 3334}#
-                           (map #{gen-var 451}# #{ids 3319}#)))
-                     (begin
-                       (let ((#{nw 3337}#
-                               (#{make-binding-wrap 387}#
-                                 #{ids 3319}#
-                                 #{labels 3333}#
-                                 #{w 3315}#))
-                             (#{nr 3338}#
-                               (#{extend-var-env 333}#
-                                 #{labels 3333}#
-                                 #{new-vars 3334}#
-                                 #{r 3314}#)))
-                         (#{constructor 3318}#
-                           #{s 3316}#
-                           (map syntax->datum #{ids 3319}#)
-                           #{new-vars 3334}#
-                           (map (lambda (#{x 3339}#)
-                                  (#{chi 423}#
-                                    #{x 3339}#
-                                    #{r 3314}#
-                                    #{w 3315}#
-                                    #{mod 3317}#))
-                                #{vals 3320}#)
-                           (#{chi-body 431}#
-                             #{exps 3321}#
-                             (#{source-wrap 411}#
-                               #{e 3313}#
-                               #{nw 3337}#
-                               #{s 3316}#
-                               #{mod 3317}#)
-                             #{nr 3338}#
-                             #{nw 3337}#
-                             #{mod 3317}#))))))))))
-          (begin
-            (lambda (#{e 3341}#
-                     #{r 3342}#
-                     #{w 3343}#
-                     #{s 3344}#
-                     #{mod 3345}#)
-              (let ((#{tmp 3351}# #{e 3341}#))
-                (let ((#{tmp 3352}#
-                        ($sc-dispatch
-                          #{tmp 3351}#
-                          '(_ #(each (any any)) any . each-any))))
-                  (if (if #{tmp 3352}#
-                        (@apply
-                          (lambda (#{id 3357}#
-                                   #{val 3358}#
-                                   #{e1 3359}#
-                                   #{e2 3360}#)
-                            (and-map #{id? 343}# #{id 3357}#))
-                          #{tmp 3352}#)
-                        #f)
-                    (@apply
-                      (lambda (#{id 3366}#
-                               #{val 3367}#
-                               #{e1 3368}#
-                               #{e2 3369}#)
-                        (#{chi-let 3312}#
-                          #{e 3341}#
-                          #{r 3342}#
-                          #{w 3343}#
-                          #{s 3344}#
-                          #{mod 3345}#
-                          #{build-let 299}#
-                          #{id 3366}#
-                          #{val 3367}#
-                          (cons #{e1 3368}# #{e2 3369}#)))
-                      #{tmp 3352}#)
-                    (let ((#{tmp 3373}#
-                            ($sc-dispatch
-                              #{tmp 3351}#
-                              '(_ any #(each (any any)) any . each-any))))
-                      (if (if #{tmp 3373}#
-                            (@apply
-                              (lambda (#{f 3379}#
-                                       #{id 3380}#
-                                       #{val 3381}#
-                                       #{e1 3382}#
-                                       #{e2 3383}#)
-                                (if (#{id? 343}# #{f 3379}#)
-                                  (and-map #{id? 343}# #{id 3380}#)
-                                  #f))
-                              #{tmp 3373}#)
-                            #f)
-                        (@apply
-                          (lambda (#{f 3392}#
-                                   #{id 3393}#
-                                   #{val 3394}#
-                                   #{e1 3395}#
-                                   #{e2 3396}#)
-                            (#{chi-let 3312}#
-                              #{e 3341}#
-                              #{r 3342}#
-                              #{w 3343}#
-                              #{s 3344}#
-                              #{mod 3345}#
-                              #{build-named-let 301}#
-                              (cons #{f 3392}# #{id 3393}#)
-                              #{val 3394}#
-                              (cons #{e1 3395}# #{e2 3396}#)))
-                          #{tmp 3373}#)
-                        (let ((#{_ 3401}# #{tmp 3351}#))
-                          (syntax-violation
-                            'let
-                            "bad let"
-                            (#{source-wrap 411}#
-                              #{e 3341}#
-                              #{w 3343}#
-                              #{s 3344}#
-                              #{mod 3345}#))))))))))))
-      (#{global-extend 339}#
-        'core
-        'letrec
-        (lambda (#{e 3402}#
-                 #{r 3403}#
-                 #{w 3404}#
-                 #{s 3405}#
-                 #{mod 3406}#)
-          (let ((#{tmp 3412}# #{e 3402}#))
-            (let ((#{tmp 3413}#
-                    ($sc-dispatch
-                      #{tmp 3412}#
-                      '(_ #(each (any any)) any . each-any))))
-              (if (if #{tmp 3413}#
-                    (@apply
-                      (lambda (#{id 3418}#
-                               #{val 3419}#
-                               #{e1 3420}#
-                               #{e2 3421}#)
-                        (and-map #{id? 343}# #{id 3418}#))
-                      #{tmp 3413}#)
-                    #f)
-                (@apply
-                  (lambda (#{id 3427}#
-                           #{val 3428}#
-                           #{e1 3429}#
-                           #{e2 3430}#)
-                    (begin
-                      (let ((#{ids 3432}# #{id 3427}#))
-                        (if (not (#{valid-bound-ids? 403}# #{ids 3432}#))
-                          (syntax-violation
-                            'letrec
-                            "duplicate bound variable"
-                            #{e 3402}#)
-                          (begin
-                            (let ((#{labels 3436}#
-                                    (#{gen-labels 358}# #{ids 3432}#))
-                                  (#{new-vars 3437}#
-                                    (map #{gen-var 451}# #{ids 3432}#)))
-                              (begin
-                                (let ((#{w 3440}#
-                                        (#{make-binding-wrap 387}#
-                                          #{ids 3432}#
-                                          #{labels 3436}#
-                                          #{w 3404}#))
-                                      (#{r 3441}#
-                                        (#{extend-var-env 333}#
-                                          #{labels 3436}#
-                                          #{new-vars 3437}#
-                                          #{r 3403}#)))
-                                  (#{build-letrec 303}#
-                                    #{s 3405}#
-                                    #f
-                                    (map syntax->datum #{ids 3432}#)
-                                    #{new-vars 3437}#
-                                    (map (lambda (#{x 3442}#)
-                                           (#{chi 423}#
-                                             #{x 3442}#
-                                             #{r 3441}#
-                                             #{w 3440}#
-                                             #{mod 3406}#))
-                                         #{val 3428}#)
-                                    (#{chi-body 431}#
-                                      (cons #{e1 3429}# #{e2 3430}#)
-                                      (#{source-wrap 411}#
-                                        #{e 3402}#
-                                        #{w 3440}#
-                                        #{s 3405}#
-                                        #{mod 3406}#)
-                                      #{r 3441}#
-                                      #{w 3440}#
-                                      #{mod 3406}#))))))))))
-                  #{tmp 3413}#)
-                (let ((#{_ 3447}# #{tmp 3412}#))
-                  (syntax-violation
-                    'letrec
-                    "bad letrec"
-                    (#{source-wrap 411}#
-                      #{e 3402}#
-                      #{w 3404}#
-                      #{s 3405}#
-                      #{mod 3406}#))))))))
-      (#{global-extend 339}#
-        'core
-        'letrec*
-        (lambda (#{e 3448}#
-                 #{r 3449}#
-                 #{w 3450}#
-                 #{s 3451}#
-                 #{mod 3452}#)
-          (let ((#{tmp 3458}# #{e 3448}#))
-            (let ((#{tmp 3459}#
-                    ($sc-dispatch
-                      #{tmp 3458}#
-                      '(_ #(each (any any)) any . each-any))))
-              (if (if #{tmp 3459}#
-                    (@apply
-                      (lambda (#{id 3464}#
-                               #{val 3465}#
-                               #{e1 3466}#
-                               #{e2 3467}#)
-                        (and-map #{id? 343}# #{id 3464}#))
-                      #{tmp 3459}#)
-                    #f)
-                (@apply
-                  (lambda (#{id 3473}#
-                           #{val 3474}#
-                           #{e1 3475}#
-                           #{e2 3476}#)
-                    (begin
-                      (let ((#{ids 3478}# #{id 3473}#))
-                        (if (not (#{valid-bound-ids? 403}# #{ids 3478}#))
-                          (syntax-violation
-                            'letrec*
-                            "duplicate bound variable"
-                            #{e 3448}#)
-                          (begin
-                            (let ((#{labels 3482}#
-                                    (#{gen-labels 358}# #{ids 3478}#))
-                                  (#{new-vars 3483}#
-                                    (map #{gen-var 451}# #{ids 3478}#)))
-                              (begin
-                                (let ((#{w 3486}#
-                                        (#{make-binding-wrap 387}#
-                                          #{ids 3478}#
-                                          #{labels 3482}#
-                                          #{w 3450}#))
-                                      (#{r 3487}#
-                                        (#{extend-var-env 333}#
-                                          #{labels 3482}#
-                                          #{new-vars 3483}#
-                                          #{r 3449}#)))
-                                  (#{build-letrec 303}#
-                                    #{s 3451}#
-                                    #t
-                                    (map syntax->datum #{ids 3478}#)
-                                    #{new-vars 3483}#
-                                    (map (lambda (#{x 3488}#)
-                                           (#{chi 423}#
-                                             #{x 3488}#
-                                             #{r 3487}#
-                                             #{w 3486}#
-                                             #{mod 3452}#))
-                                         #{val 3474}#)
-                                    (#{chi-body 431}#
-                                      (cons #{e1 3475}# #{e2 3476}#)
-                                      (#{source-wrap 411}#
-                                        #{e 3448}#
-                                        #{w 3486}#
-                                        #{s 3451}#
-                                        #{mod 3452}#)
-                                      #{r 3487}#
-                                      #{w 3486}#
-                                      #{mod 3452}#))))))))))
-                  #{tmp 3459}#)
-                (let ((#{_ 3493}# #{tmp 3458}#))
-                  (syntax-violation
-                    'letrec*
-                    "bad letrec*"
-                    (#{source-wrap 411}#
-                      #{e 3448}#
-                      #{w 3450}#
-                      #{s 3451}#
-                      #{mod 3452}#))))))))
-      (#{global-extend 339}#
-        'core
-        'set!
-        (lambda (#{e 3494}#
-                 #{r 3495}#
-                 #{w 3496}#
-                 #{s 3497}#
-                 #{mod 3498}#)
-          (let ((#{tmp 3504}# #{e 3494}#))
-            (let ((#{tmp 3505}#
-                    ($sc-dispatch #{tmp 3504}# '(_ any any))))
-              (if (if #{tmp 3505}#
-                    (@apply
-                      (lambda (#{id 3508}# #{val 3509}#)
-                        (#{id? 343}# #{id 3508}#))
-                      #{tmp 3505}#)
-                    #f)
-                (@apply
-                  (lambda (#{id 3512}# #{val 3513}#)
-                    (begin
-                      (let ((#{n 3516}#
-                              (#{id-var-name 397}# #{id 3512}# #{w 3496}#))
-                            (#{id-mod 3517}#
-                              (if (#{syntax-object? 309}# #{id 3512}#)
-                                (#{syntax-object-module 315}# #{id 3512}#)
-                                #{mod 3498}#)))
-                        (begin
-                          (let ((#{b 3519}#
-                                  (#{lookup 337}#
-                                    #{n 3516}#
-                                    #{r 3495}#
-                                    #{id-mod 3517}#)))
-                            (begin
-                              (let ((#{atom-key 3522}# (car #{b 3519}#)))
-                                (if (memv #{atom-key 3522}# '(lexical))
-                                  (#{build-lexical-assignment 275}#
-                                    #{s 3497}#
-                                    (syntax->datum #{id 3512}#)
-                                    (cdr #{b 3519}#)
-                                    (#{chi 423}#
-                                      #{val 3513}#
-                                      #{r 3495}#
-                                      #{w 3496}#
-                                      #{mod 3498}#))
-                                  (if (memv #{atom-key 3522}# '(global))
-                                    (#{build-global-assignment 281}#
-                                      #{s 3497}#
-                                      #{n 3516}#
-                                      (#{chi 423}#
-                                        #{val 3513}#
-                                        #{r 3495}#
-                                        #{w 3496}#
-                                        #{mod 3498}#)
-                                      #{id-mod 3517}#)
-                                    (if (memv #{atom-key 3522}# '(macro))
-                                      (begin
-                                        (let ((#{p 3529}# (cdr #{b 3519}#)))
-                                          (if (procedure-property
-                                                #{p 3529}#
-                                                'variable-transformer)
-                                            (#{chi 423}#
-                                              (#{chi-macro 429}#
-                                                #{p 3529}#
-                                                #{e 3494}#
-                                                #{r 3495}#
-                                                #{w 3496}#
-                                                #{s 3497}#
-                                                #f
-                                                #{mod 3498}#)
-                                              #{r 3495}#
-                                              '(())
-                                              #{mod 3498}#)
-                                            (syntax-violation
-                                              'set!
-                                              "not a variable transformer"
-                                              (#{wrap 409}#
-                                                #{e 3494}#
-                                                #{w 3496}#
-                                                #{mod 3498}#)
-                                              (#{wrap 409}#
-                                                #{id 3512}#
-                                                #{w 3496}#
-                                                #{id-mod 3517}#)))))
-                                      (if (memv #{atom-key 3522}#
-                                                '(displaced-lexical))
-                                        (syntax-violation
-                                          'set!
-                                          "identifier out of context"
-                                          (#{wrap 409}#
-                                            #{id 3512}#
-                                            #{w 3496}#
-                                            #{mod 3498}#))
-                                        (syntax-violation
-                                          'set!
-                                          "bad set!"
-                                          (#{source-wrap 411}#
-                                            #{e 3494}#
-                                            #{w 3496}#
-                                            #{s 3497}#
-                                            #{mod 3498}#)))))))))))))
-                  #{tmp 3505}#)
-                (let ((#{tmp 3534}#
-                        ($sc-dispatch
-                          #{tmp 3504}#
-                          '(_ (any . each-any) any))))
-                  (if #{tmp 3534}#
-                    (@apply
-                      (lambda (#{head 3538}# #{tail 3539}# #{val 3540}#)
-                        (call-with-values
-                          (lambda ()
-                            (#{syntax-type 421}#
-                              #{head 3538}#
-                              #{r 3495}#
-                              '(())
-                              #f
-                              #f
-                              #{mod 3498}#
-                              #t))
-                          (lambda (#{type 3543}#
-                                   #{value 3544}#
-                                   #{ee 3545}#
-                                   #{ww 3546}#
-                                   #{ss 3547}#
-                                   #{modmod 3548}#)
-                            (if (memv #{type 3543}# '(module-ref))
-                              (begin
-                                (let ((#{val 3557}#
-                                        (#{chi 423}#
-                                          #{val 3540}#
-                                          #{r 3495}#
-                                          #{w 3496}#
-                                          #{mod 3498}#)))
-                                  (call-with-values
-                                    (lambda ()
-                                      (#{value 3544}#
-                                        (cons #{head 3538}# #{tail 3539}#)
-                                        #{r 3495}#
-                                        #{w 3496}#))
-                                    (lambda (#{e 3559}#
-                                             #{r 3560}#
-                                             #{w 3561}#
-                                             #{s* 3562}#
-                                             #{mod 3563}#)
-                                      (let ((#{tmp 3569}# #{e 3559}#))
-                                        (let ((#{tmp 3570}#
-                                                (list #{tmp 3569}#)))
-                                          (if (if #{tmp 3570}#
-                                                (@apply
-                                                  (lambda (#{e 3572}#)
-                                                    (#{id? 343}# #{e 3572}#))
-                                                  #{tmp 3570}#)
-                                                #f)
-                                            (@apply
-                                              (lambda (#{e 3574}#)
-                                                (#{build-global-assignment 
281}#
-                                                  #{s 3497}#
-                                                  (syntax->datum #{e 3574}#)
-                                                  #{val 3557}#
-                                                  #{mod 3563}#))
-                                              #{tmp 3570}#)
-                                            (syntax-violation
-                                              #f
-                                              "source expression failed to 
match any pattern"
-                                              #{tmp 3569}#))))))))
-                              (#{build-call 267}#
-                                #{s 3497}#
-                                (#{chi 423}#
-                                  (list '#(syntax-object
-                                           setter
-                                           ((top)
-                                            #(ribcage () () ())
-                                            #(ribcage () () ())
-                                            #(ribcage
-                                              #(type value ee ww ss modmod)
-                                              #((top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top))
-                                              #("i3549"
-                                                "i3550"
-                                                "i3551"
-                                                "i3552"
-                                                "i3553"
-                                                "i3554"))
-                                            #(ribcage
-                                              #(head tail val)
-                                              #((top) (top) (top))
-                                              #("i3535" "i3536" "i3537"))
-                                            #(ribcage () () ())
-                                            #(ribcage
-                                              #(e r w s mod)
-                                              #((top) (top) (top) (top) (top))
-                                              #("i3499"
-                                                "i3500"
-                                                "i3501"
-                                                "i3502"
-                                                "i3503"))
-                                            #(ribcage
-                                              (lambda-var-list
-                                                gen-var
-                                                strip
-                                                chi-lambda-case
-                                                lambda*-formals
-                                                chi-simple-lambda
-                                                lambda-formals
-                                                ellipsis?
-                                                chi-void
-                                                eval-local-transformer
-                                                chi-local-syntax
-                                                chi-body
-                                                chi-macro
-                                                chi-call
-                                                chi-expr
-                                                chi
-                                                syntax-type
-                                                chi-when-list
-                                                chi-install-global
-                                                chi-top-sequence
-                                                chi-sequence
-                                                source-wrap
-                                                wrap
-                                                bound-id-member?
-                                                distinct-bound-ids?
-                                                valid-bound-ids?
-                                                bound-id=?
-                                                free-id=?
-                                                id-var-name
-                                                same-marks?
-                                                join-marks
-                                                join-wraps
-                                                smart-append
-                                                make-binding-wrap
-                                                extend-ribcage!
-                                                make-empty-ribcage
-                                                new-mark
-                                                anti-mark
-                                                the-anti-mark
-                                                top-marked?
-                                                top-wrap
-                                                empty-wrap
-                                                set-ribcage-labels!
-                                                set-ribcage-marks!
-                                                set-ribcage-symnames!
-                                                ribcage-labels
-                                                ribcage-marks
-                                                ribcage-symnames
-                                                ribcage?
-                                                make-ribcage
-                                                gen-labels
-                                                gen-label
-                                                make-rename
-                                                rename-marks
-                                                rename-new
-                                                rename-old
-                                                subst-rename?
-                                                wrap-subst
-                                                wrap-marks
-                                                make-wrap
-                                                id-sym-name&marks
-                                                id-sym-name
-                                                id?
-                                                nonsymbol-id?
-                                                global-extend
-                                                lookup
-                                                macros-only-env
-                                                extend-var-env
-                                                extend-env
-                                                null-env
-                                                binding-value
-                                                binding-type
-                                                make-binding
-                                                arg-check
-                                                source-annotation
-                                                no-source
-                                                set-syntax-object-module!
-                                                set-syntax-object-wrap!
-                                                set-syntax-object-expression!
-                                                syntax-object-module
-                                                syntax-object-wrap
-                                                syntax-object-expression
-                                                syntax-object?
-                                                make-syntax-object
-                                                build-lexical-var
-                                                build-letrec
-                                                build-named-let
-                                                build-let
-                                                build-sequence
-                                                build-data
-                                                build-primref
-                                                build-primcall
-                                                build-lambda-case
-                                                build-case-lambda
-                                                build-simple-lambda
-                                                build-global-definition
-                                                build-global-assignment
-                                                build-global-reference
-                                                analyze-variable
-                                                build-lexical-assignment
-                                                build-lexical-reference
-                                                build-dynlet
-                                                build-conditional
-                                                build-call
-                                                build-void
-                                                maybe-name-value!
-                                                decorate-source
-                                                get-global-definition-hook
-                                                put-global-definition-hook
-                                                gensym-hook
-                                                local-eval-hook
-                                                top-level-eval-hook
-                                                fx<
-                                                fx=
-                                                fx-
-                                                fx+
-                                                set-lambda-meta!
-                                                lambda-meta
-                                                lambda?
-                                                make-dynlet
-                                                make-letrec
-                                                make-let
-                                                make-lambda-case
-                                                make-lambda
-                                                make-sequence
-                                                make-primcall
-                                                make-call
-                                                make-conditional
-                                                make-toplevel-define
-                                                make-toplevel-set
-                                                make-toplevel-ref
-                                                make-module-set
-                                                make-module-ref
-                                                make-lexical-set
-                                                make-lexical-ref
-                                                make-primitive-ref
-                                                make-const
-                                                make-void)
-                                              ((top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top))
-                                              ("i452"
-                                               "i450"
-                                               "i448"
-                                               "i446"
-                                               "i444"
-                                               "i442"
-                                               "i440"
-                                               "i438"
-                                               "i436"
-                                               "i434"
-                                               "i432"
-                                               "i430"
-                                               "i428"
-                                               "i426"
-                                               "i424"
-                                               "i422"
-                                               "i420"
-                                               "i418"
-                                               "i416"
-                                               "i414"
-                                               "i412"
-                                               "i410"
-                                               "i408"
-                                               "i406"
-                                               "i404"
-                                               "i402"
-                                               "i400"
-                                               "i398"
-                                               "i396"
-                                               "i394"
-                                               "i392"
-                                               "i390"
-                                               "i388"
-                                               "i386"
-                                               "i384"
-                                               "i383"
-                                               "i382"
-                                               "i380"
-                                               "i379"
-                                               "i378"
-                                               "i377"
-                                               "i376"
-                                               "i374"
-                                               "i372"
-                                               "i370"
-                                               "i368"
-                                               "i366"
-                                               "i364"
-                                               "i362"
-                                               "i360"
-                                               "i357"
-                                               "i355"
-                                               "i354"
-                                               "i353"
-                                               "i352"
-                                               "i351"
-                                               "i350"
-                                               "i349"
-                                               "i348"
-                                               "i347"
-                                               "i345"
-                                               "i344"
-                                               "i342"
-                                               "i340"
-                                               "i338"
-                                               "i336"
-                                               "i334"
-                                               "i332"
-                                               "i330"
-                                               "i329"
-                                               "i328"
-                                               "i327"
-                                               "i326"
-                                               "i325"
-                                               "i323"
-                                               "i322"
-                                               "i320"
-                                               "i318"
-                                               "i316"
-                                               "i314"
-                                               "i312"
-                                               "i310"
-                                               "i308"
-                                               "i306"
-                                               "i304"
-                                               "i302"
-                                               "i300"
-                                               "i298"
-                                               "i296"
-                                               "i294"
-                                               "i292"
-                                               "i290"
-                                               "i288"
-                                               "i286"
-                                               "i284"
-                                               "i282"
-                                               "i280"
-                                               "i278"
-                                               "i276"
-                                               "i274"
-                                               "i272"
-                                               "i270"
-                                               "i268"
-                                               "i266"
-                                               "i264"
-                                               "i262"
-                                               "i260"
-                                               "i258"
-                                               "i256"
-                                               "i255"
-                                               "i253"
-                                               "i251"
-                                               "i250"
-                                               "i249"
-                                               "i248"
-                                               "i247"
-                                               "i245"
-                                               "i243"
-                                               "i241"
-                                               "i238"
-                                               "i236"
-                                               "i234"
-                                               "i232"
-                                               "i230"
-                                               "i228"
-                                               "i226"
-                                               "i224"
-                                               "i222"
-                                               "i220"
-                                               "i218"
-                                               "i216"
-                                               "i214"
-                                               "i212"
-                                               "i210"
-                                               "i208"
-                                               "i206"
-                                               "i204"
-                                               "i202"))
-                                            #(ribcage
-                                              (define-structure
-                                                define-expansion-accessors
-                                                define-expansion-constructors)
-                                              ((top) (top) (top))
-                                              ("i40" "i39" "i38")))
-                                           (hygiene guile))
-                                        #{head 3538}#)
-                                  #{r 3495}#
-                                  #{w 3496}#
-                                  #{mod 3498}#)
-                                (map (lambda (#{e 3576}#)
-                                       (#{chi 423}#
-                                         #{e 3576}#
-                                         #{r 3495}#
-                                         #{w 3496}#
-                                         #{mod 3498}#))
-                                     (append
-                                       #{tail 3539}#
-                                       (list #{val 3540}#))))))))
-                      #{tmp 3534}#)
-                    (let ((#{_ 3580}# #{tmp 3504}#))
-                      (syntax-violation
-                        'set!
-                        "bad set!"
-                        (#{source-wrap 411}#
-                          #{e 3494}#
-                          #{w 3496}#
-                          #{s 3497}#
-                          #{mod 3498}#))))))))))
-      (#{global-extend 339}#
-        'module-ref
-        '@
-        (lambda (#{e 3581}# #{r 3582}# #{w 3583}#)
-          (let ((#{tmp 3587}# #{e 3581}#))
-            (let ((#{tmp 3588}#
-                    ($sc-dispatch #{tmp 3587}# '(_ each-any any))))
-              (if (if #{tmp 3588}#
-                    (@apply
-                      (lambda (#{mod 3591}# #{id 3592}#)
-                        (if (and-map #{id? 343}# #{mod 3591}#)
-                          (#{id? 343}# #{id 3592}#)
-                          #f))
-                      #{tmp 3588}#)
-                    #f)
-                (@apply
-                  (lambda (#{mod 3598}# #{id 3599}#)
-                    (values
-                      (syntax->datum #{id 3599}#)
-                      #{r 3582}#
-                      #{w 3583}#
-                      #f
-                      (syntax->datum
-                        (cons '#(syntax-object
-                                 public
-                                 ((top)
-                                  #(ribcage
-                                    #(mod id)
-                                    #((top) (top))
-                                    #("i3596" "i3597"))
-                                  #(ribcage () () ())
-                                  #(ribcage
-                                    #(e r w)
-                                    #((top) (top) (top))
-                                    #("i3584" "i3585" "i3586"))
-                                  #(ribcage
-                                    (lambda-var-list
-                                      gen-var
-                                      strip
-                                      chi-lambda-case
-                                      lambda*-formals
-                                      chi-simple-lambda
-                                      lambda-formals
-                                      ellipsis?
-                                      chi-void
-                                      eval-local-transformer
-                                      chi-local-syntax
-                                      chi-body
-                                      chi-macro
-                                      chi-call
-                                      chi-expr
-                                      chi
-                                      syntax-type
-                                      chi-when-list
-                                      chi-install-global
-                                      chi-top-sequence
-                                      chi-sequence
-                                      source-wrap
-                                      wrap
-                                      bound-id-member?
-                                      distinct-bound-ids?
-                                      valid-bound-ids?
-                                      bound-id=?
-                                      free-id=?
-                                      id-var-name
-                                      same-marks?
-                                      join-marks
-                                      join-wraps
-                                      smart-append
-                                      make-binding-wrap
-                                      extend-ribcage!
-                                      make-empty-ribcage
-                                      new-mark
-                                      anti-mark
-                                      the-anti-mark
-                                      top-marked?
-                                      top-wrap
-                                      empty-wrap
-                                      set-ribcage-labels!
-                                      set-ribcage-marks!
-                                      set-ribcage-symnames!
-                                      ribcage-labels
-                                      ribcage-marks
-                                      ribcage-symnames
-                                      ribcage?
-                                      make-ribcage
-                                      gen-labels
-                                      gen-label
-                                      make-rename
-                                      rename-marks
-                                      rename-new
-                                      rename-old
-                                      subst-rename?
-                                      wrap-subst
-                                      wrap-marks
-                                      make-wrap
-                                      id-sym-name&marks
-                                      id-sym-name
-                                      id?
-                                      nonsymbol-id?
-                                      global-extend
-                                      lookup
-                                      macros-only-env
-                                      extend-var-env
-                                      extend-env
-                                      null-env
-                                      binding-value
-                                      binding-type
-                                      make-binding
-                                      arg-check
-                                      source-annotation
-                                      no-source
-                                      set-syntax-object-module!
-                                      set-syntax-object-wrap!
-                                      set-syntax-object-expression!
-                                      syntax-object-module
-                                      syntax-object-wrap
-                                      syntax-object-expression
-                                      syntax-object?
-                                      make-syntax-object
-                                      build-lexical-var
-                                      build-letrec
-                                      build-named-let
-                                      build-let
-                                      build-sequence
-                                      build-data
-                                      build-primref
-                                      build-primcall
-                                      build-lambda-case
-                                      build-case-lambda
-                                      build-simple-lambda
-                                      build-global-definition
-                                      build-global-assignment
-                                      build-global-reference
-                                      analyze-variable
-                                      build-lexical-assignment
-                                      build-lexical-reference
-                                      build-dynlet
-                                      build-conditional
-                                      build-call
-                                      build-void
-                                      maybe-name-value!
-                                      decorate-source
-                                      get-global-definition-hook
-                                      put-global-definition-hook
-                                      gensym-hook
-                                      local-eval-hook
-                                      top-level-eval-hook
-                                      fx<
-                                      fx=
-                                      fx-
-                                      fx+
-                                      set-lambda-meta!
-                                      lambda-meta
-                                      lambda?
-                                      make-dynlet
-                                      make-letrec
-                                      make-let
-                                      make-lambda-case
-                                      make-lambda
-                                      make-sequence
-                                      make-primcall
-                                      make-call
-                                      make-conditional
-                                      make-toplevel-define
-                                      make-toplevel-set
-                                      make-toplevel-ref
-                                      make-module-set
-                                      make-module-ref
-                                      make-lexical-set
-                                      make-lexical-ref
-                                      make-primitive-ref
-                                      make-const
-                                      make-void)
-                                    ((top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top)
-                                     (top))
-                                    ("i452"
-                                     "i450"
-                                     "i448"
-                                     "i446"
-                                     "i444"
-                                     "i442"
-                                     "i440"
-                                     "i438"
-                                     "i436"
-                                     "i434"
-                                     "i432"
-                                     "i430"
-                                     "i428"
-                                     "i426"
-                                     "i424"
-                                     "i422"
-                                     "i420"
-                                     "i418"
-                                     "i416"
-                                     "i414"
-                                     "i412"
-                                     "i410"
-                                     "i408"
-                                     "i406"
-                                     "i404"
-                                     "i402"
-                                     "i400"
-                                     "i398"
-                                     "i396"
-                                     "i394"
-                                     "i392"
-                                     "i390"
-                                     "i388"
-                                     "i386"
-                                     "i384"
-                                     "i383"
-                                     "i382"
-                                     "i380"
-                                     "i379"
-                                     "i378"
-                                     "i377"
-                                     "i376"
-                                     "i374"
-                                     "i372"
-                                     "i370"
-                                     "i368"
-                                     "i366"
-                                     "i364"
-                                     "i362"
-                                     "i360"
-                                     "i357"
-                                     "i355"
-                                     "i354"
-                                     "i353"
-                                     "i352"
-                                     "i351"
-                                     "i350"
-                                     "i349"
-                                     "i348"
-                                     "i347"
-                                     "i345"
-                                     "i344"
-                                     "i342"
-                                     "i340"
-                                     "i338"
-                                     "i336"
-                                     "i334"
-                                     "i332"
-                                     "i330"
-                                     "i329"
-                                     "i328"
-                                     "i327"
-                                     "i326"
-                                     "i325"
-                                     "i323"
-                                     "i322"
-                                     "i320"
-                                     "i318"
-                                     "i316"
-                                     "i314"
-                                     "i312"
-                                     "i310"
-                                     "i308"
-                                     "i306"
-                                     "i304"
-                                     "i302"
-                                     "i300"
-                                     "i298"
-                                     "i296"
-                                     "i294"
-                                     "i292"
-                                     "i290"
-                                     "i288"
-                                     "i286"
-                                     "i284"
-                                     "i282"
-                                     "i280"
-                                     "i278"
-                                     "i276"
-                                     "i274"
-                                     "i272"
-                                     "i270"
-                                     "i268"
-                                     "i266"
-                                     "i264"
-                                     "i262"
-                                     "i260"
-                                     "i258"
-                                     "i256"
-                                     "i255"
-                                     "i253"
-                                     "i251"
-                                     "i250"
-                                     "i249"
-                                     "i248"
-                                     "i247"
-                                     "i245"
-                                     "i243"
-                                     "i241"
-                                     "i238"
-                                     "i236"
-                                     "i234"
-                                     "i232"
-                                     "i230"
-                                     "i228"
-                                     "i226"
-                                     "i224"
-                                     "i222"
-                                     "i220"
-                                     "i218"
-                                     "i216"
-                                     "i214"
-                                     "i212"
-                                     "i210"
-                                     "i208"
-                                     "i206"
-                                     "i204"
-                                     "i202"))
-                                  #(ribcage
-                                    (define-structure
-                                      define-expansion-accessors
-                                      define-expansion-constructors)
-                                    ((top) (top) (top))
-                                    ("i40" "i39" "i38")))
-                                 (hygiene guile))
-                              #{mod 3598}#))))
-                  #{tmp 3588}#)
-                (syntax-violation
-                  #f
-                  "source expression failed to match any pattern"
-                  #{tmp 3587}#))))))
-      (#{global-extend 339}#
-        'module-ref
-        '@@
-        (lambda (#{e 3601}# #{r 3602}# #{w 3603}#)
-          (letrec*
-            ((#{remodulate 3608}#
-               (lambda (#{x 3609}# #{mod 3610}#)
-                 (if (pair? #{x 3609}#)
-                   (cons (#{remodulate 3608}#
-                           (car #{x 3609}#)
-                           #{mod 3610}#)
-                         (#{remodulate 3608}#
-                           (cdr #{x 3609}#)
-                           #{mod 3610}#))
-                   (if (#{syntax-object? 309}# #{x 3609}#)
-                     (#{make-syntax-object 307}#
-                       (#{remodulate 3608}#
-                         (#{syntax-object-expression 311}# #{x 3609}#)
-                         #{mod 3610}#)
-                       (#{syntax-object-wrap 313}# #{x 3609}#)
-                       #{mod 3610}#)
-                     (if (vector? #{x 3609}#)
-                       (begin
-                         (let ((#{n 3621}# (vector-length #{x 3609}#)))
-                           (begin
-                             (let ((#{v 3623}# (make-vector #{n 3621}#)))
-                               (letrec*
-                                 ((#{loop 3626}#
-                                    (lambda (#{i 3627}#)
-                                      (if (= #{i 3627}# #{n 3621}#)
-                                        (begin (if #f #f) #{v 3623}#)
-                                        (begin
-                                          (vector-set!
-                                            #{v 3623}#
-                                            #{i 3627}#
-                                            (#{remodulate 3608}#
-                                              (vector-ref
-                                                #{x 3609}#
-                                                #{i 3627}#)
-                                              #{mod 3610}#))
-                                          (#{loop 3626}#
-                                            (#{1+}# #{i 3627}#)))))))
-                                 (begin (#{loop 3626}# 0)))))))
-                       #{x 3609}#))))))
-            (begin
-              (let ((#{tmp 3633}# #{e 3601}#))
-                (let ((#{tmp 3634}#
-                        ($sc-dispatch #{tmp 3633}# '(_ each-any any))))
-                  (if (if #{tmp 3634}#
-                        (@apply
-                          (lambda (#{mod 3637}# #{exp 3638}#)
-                            (and-map #{id? 343}# #{mod 3637}#))
-                          #{tmp 3634}#)
-                        #f)
-                    (@apply
-                      (lambda (#{mod 3642}# #{exp 3643}#)
-                        (begin
-                          (let ((#{mod 3645}#
-                                  (syntax->datum
-                                    (cons '#(syntax-object
-                                             private
-                                             ((top)
-                                              #(ribcage
-                                                #(mod exp)
-                                                #((top) (top))
-                                                #("i3640" "i3641"))
-                                              #(ribcage
-                                                (remodulate)
-                                                ((top))
-                                                ("i3607"))
-                                              #(ribcage
-                                                #(e r w)
-                                                #((top) (top) (top))
-                                                #("i3604" "i3605" "i3606"))
-                                              #(ribcage
-                                                (lambda-var-list
-                                                  gen-var
-                                                  strip
-                                                  chi-lambda-case
-                                                  lambda*-formals
-                                                  chi-simple-lambda
-                                                  lambda-formals
-                                                  ellipsis?
-                                                  chi-void
-                                                  eval-local-transformer
-                                                  chi-local-syntax
-                                                  chi-body
-                                                  chi-macro
-                                                  chi-call
-                                                  chi-expr
-                                                  chi
-                                                  syntax-type
-                                                  chi-when-list
-                                                  chi-install-global
-                                                  chi-top-sequence
-                                                  chi-sequence
-                                                  source-wrap
-                                                  wrap
-                                                  bound-id-member?
-                                                  distinct-bound-ids?
-                                                  valid-bound-ids?
-                                                  bound-id=?
-                                                  free-id=?
-                                                  id-var-name
-                                                  same-marks?
-                                                  join-marks
-                                                  join-wraps
-                                                  smart-append
-                                                  make-binding-wrap
-                                                  extend-ribcage!
-                                                  make-empty-ribcage
-                                                  new-mark
-                                                  anti-mark
-                                                  the-anti-mark
-                                                  top-marked?
-                                                  top-wrap
-                                                  empty-wrap
-                                                  set-ribcage-labels!
-                                                  set-ribcage-marks!
-                                                  set-ribcage-symnames!
-                                                  ribcage-labels
-                                                  ribcage-marks
-                                                  ribcage-symnames
-                                                  ribcage?
-                                                  make-ribcage
-                                                  gen-labels
-                                                  gen-label
-                                                  make-rename
-                                                  rename-marks
-                                                  rename-new
-                                                  rename-old
-                                                  subst-rename?
-                                                  wrap-subst
-                                                  wrap-marks
-                                                  make-wrap
-                                                  id-sym-name&marks
-                                                  id-sym-name
-                                                  id?
-                                                  nonsymbol-id?
-                                                  global-extend
-                                                  lookup
-                                                  macros-only-env
-                                                  extend-var-env
-                                                  extend-env
-                                                  null-env
-                                                  binding-value
-                                                  binding-type
-                                                  make-binding
-                                                  arg-check
-                                                  source-annotation
-                                                  no-source
-                                                  set-syntax-object-module!
-                                                  set-syntax-object-wrap!
-                                                  set-syntax-object-expression!
-                                                  syntax-object-module
-                                                  syntax-object-wrap
-                                                  syntax-object-expression
-                                                  syntax-object?
-                                                  make-syntax-object
-                                                  build-lexical-var
-                                                  build-letrec
-                                                  build-named-let
-                                                  build-let
-                                                  build-sequence
-                                                  build-data
-                                                  build-primref
-                                                  build-primcall
-                                                  build-lambda-case
-                                                  build-case-lambda
-                                                  build-simple-lambda
-                                                  build-global-definition
-                                                  build-global-assignment
-                                                  build-global-reference
-                                                  analyze-variable
-                                                  build-lexical-assignment
-                                                  build-lexical-reference
-                                                  build-dynlet
-                                                  build-conditional
-                                                  build-call
-                                                  build-void
-                                                  maybe-name-value!
-                                                  decorate-source
-                                                  get-global-definition-hook
-                                                  put-global-definition-hook
-                                                  gensym-hook
-                                                  local-eval-hook
-                                                  top-level-eval-hook
-                                                  fx<
-                                                  fx=
-                                                  fx-
-                                                  fx+
-                                                  set-lambda-meta!
-                                                  lambda-meta
-                                                  lambda?
-                                                  make-dynlet
-                                                  make-letrec
-                                                  make-let
-                                                  make-lambda-case
-                                                  make-lambda
-                                                  make-sequence
-                                                  make-primcall
-                                                  make-call
-                                                  make-conditional
-                                                  make-toplevel-define
-                                                  make-toplevel-set
-                                                  make-toplevel-ref
-                                                  make-module-set
-                                                  make-module-ref
-                                                  make-lexical-set
-                                                  make-lexical-ref
-                                                  make-primitive-ref
-                                                  make-const
-                                                  make-void)
-                                                ((top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top)
-                                                 (top))
-                                                ("i452"
-                                                 "i450"
-                                                 "i448"
-                                                 "i446"
-                                                 "i444"
-                                                 "i442"
-                                                 "i440"
-                                                 "i438"
-                                                 "i436"
-                                                 "i434"
-                                                 "i432"
-                                                 "i430"
-                                                 "i428"
-                                                 "i426"
-                                                 "i424"
-                                                 "i422"
-                                                 "i420"
-                                                 "i418"
-                                                 "i416"
-                                                 "i414"
-                                                 "i412"
-                                                 "i410"
-                                                 "i408"
-                                                 "i406"
-                                                 "i404"
-                                                 "i402"
-                                                 "i400"
-                                                 "i398"
-                                                 "i396"
-                                                 "i394"
-                                                 "i392"
-                                                 "i390"
-                                                 "i388"
-                                                 "i386"
-                                                 "i384"
-                                                 "i383"
-                                                 "i382"
-                                                 "i380"
-                                                 "i379"
-                                                 "i378"
-                                                 "i377"
-                                                 "i376"
-                                                 "i374"
-                                                 "i372"
-                                                 "i370"
-                                                 "i368"
-                                                 "i366"
-                                                 "i364"
-                                                 "i362"
-                                                 "i360"
-                                                 "i357"
-                                                 "i355"
-                                                 "i354"
-                                                 "i353"
-                                                 "i352"
-                                                 "i351"
-                                                 "i350"
-                                                 "i349"
-                                                 "i348"
-                                                 "i347"
-                                                 "i345"
-                                                 "i344"
-                                                 "i342"
-                                                 "i340"
-                                                 "i338"
-                                                 "i336"
-                                                 "i334"
-                                                 "i332"
-                                                 "i330"
-                                                 "i329"
-                                                 "i328"
-                                                 "i327"
-                                                 "i326"
-                                                 "i325"
-                                                 "i323"
-                                                 "i322"
-                                                 "i320"
-                                                 "i318"
-                                                 "i316"
-                                                 "i314"
-                                                 "i312"
-                                                 "i310"
-                                                 "i308"
-                                                 "i306"
-                                                 "i304"
-                                                 "i302"
-                                                 "i300"
-                                                 "i298"
-                                                 "i296"
-                                                 "i294"
-                                                 "i292"
-                                                 "i290"
-                                                 "i288"
-                                                 "i286"
-                                                 "i284"
-                                                 "i282"
-                                                 "i280"
-                                                 "i278"
-                                                 "i276"
-                                                 "i274"
-                                                 "i272"
-                                                 "i270"
-                                                 "i268"
-                                                 "i266"
-                                                 "i264"
-                                                 "i262"
-                                                 "i260"
-                                                 "i258"
-                                                 "i256"
-                                                 "i255"
-                                                 "i253"
-                                                 "i251"
-                                                 "i250"
-                                                 "i249"
-                                                 "i248"
-                                                 "i247"
-                                                 "i245"
-                                                 "i243"
-                                                 "i241"
-                                                 "i238"
-                                                 "i236"
-                                                 "i234"
-                                                 "i232"
-                                                 "i230"
-                                                 "i228"
-                                                 "i226"
-                                                 "i224"
-                                                 "i222"
-                                                 "i220"
-                                                 "i218"
-                                                 "i216"
-                                                 "i214"
-                                                 "i212"
-                                                 "i210"
-                                                 "i208"
-                                                 "i206"
-                                                 "i204"
-                                                 "i202"))
-                                              #(ribcage
-                                                (define-structure
-                                                  define-expansion-accessors
-                                                  
define-expansion-constructors)
-                                                ((top) (top) (top))
-                                                ("i40" "i39" "i38")))
-                                             (hygiene guile))
-                                          #{mod 3642}#))))
-                            (values
-                              (#{remodulate 3608}# #{exp 3643}# #{mod 3645}#)
-                              #{r 3602}#
-                              #{w 3603}#
-                              (#{source-annotation 324}# #{exp 3643}#)
-                              #{mod 3645}#))))
-                      #{tmp 3634}#)
-                    (syntax-violation
-                      #f
-                      "source expression failed to match any pattern"
-                      #{tmp 3633}#))))))))
-      (#{global-extend 339}#
-        'core
-        'if
-        (lambda (#{e 3647}#
-                 #{r 3648}#
-                 #{w 3649}#
-                 #{s 3650}#
-                 #{mod 3651}#)
-          (let ((#{tmp 3657}# #{e 3647}#))
-            (let ((#{tmp 3658}#
-                    ($sc-dispatch #{tmp 3657}# '(_ any any))))
-              (if #{tmp 3658}#
-                (@apply
-                  (lambda (#{test 3661}# #{then 3662}#)
-                    (#{build-conditional 269}#
-                      #{s 3650}#
-                      (#{chi 423}#
-                        #{test 3661}#
-                        #{r 3648}#
-                        #{w 3649}#
-                        #{mod 3651}#)
-                      (#{chi 423}#
-                        #{then 3662}#
-                        #{r 3648}#
-                        #{w 3649}#
-                        #{mod 3651}#)
-                      (#{build-void 265}# #f)))
-                  #{tmp 3658}#)
-                (let ((#{tmp 3664}#
-                        ($sc-dispatch #{tmp 3657}# '(_ any any any))))
-                  (if #{tmp 3664}#
-                    (@apply
-                      (lambda (#{test 3668}# #{then 3669}# #{else 3670}#)
-                        (#{build-conditional 269}#
-                          #{s 3650}#
-                          (#{chi 423}#
-                            #{test 3668}#
-                            #{r 3648}#
-                            #{w 3649}#
-                            #{mod 3651}#)
-                          (#{chi 423}#
-                            #{then 3669}#
-                            #{r 3648}#
-                            #{w 3649}#
-                            #{mod 3651}#)
-                          (#{chi 423}#
-                            #{else 3670}#
-                            #{r 3648}#
-                            #{w 3649}#
-                            #{mod 3651}#)))
-                      #{tmp 3664}#)
-                    (syntax-violation
-                      #f
-                      "source expression failed to match any pattern"
-                      #{tmp 3657}#))))))))
-      (#{global-extend 339}#
-        'core
-        'with-fluids
-        (lambda (#{e 3671}#
-                 #{r 3672}#
-                 #{w 3673}#
-                 #{s 3674}#
-                 #{mod 3675}#)
-          (let ((#{tmp 3681}# #{e 3671}#))
-            (let ((#{tmp 3682}#
-                    ($sc-dispatch
-                      #{tmp 3681}#
-                      '(_ #(each (any any)) any . each-any))))
-              (if #{tmp 3682}#
-                (@apply
-                  (lambda (#{fluid 3687}#
-                           #{val 3688}#
-                           #{b 3689}#
-                           #{b* 3690}#)
-                    (#{build-dynlet 271}#
-                      #{s 3674}#
-                      (map (lambda (#{x 3691}#)
-                             (#{chi 423}#
-                               #{x 3691}#
-                               #{r 3672}#
-                               #{w 3673}#
-                               #{mod 3675}#))
-                           #{fluid 3687}#)
-                      (map (lambda (#{x 3694}#)
-                             (#{chi 423}#
-                               #{x 3694}#
-                               #{r 3672}#
-                               #{w 3673}#
-                               #{mod 3675}#))
-                           #{val 3688}#)
-                      (#{chi-body 431}#
-                        (cons #{b 3689}# #{b* 3690}#)
-                        (#{source-wrap 411}#
-                          #{e 3671}#
-                          #{w 3673}#
-                          #{s 3674}#
-                          #{mod 3675}#)
-                        #{r 3672}#
-                        #{w 3673}#
-                        #{mod 3675}#)))
-                  #{tmp 3682}#)
-                (syntax-violation
-                  #f
-                  "source expression failed to match any pattern"
-                  #{tmp 3681}#))))))
-      (#{global-extend 339}# 'begin 'begin '())
-      (#{global-extend 339}# 'define 'define '())
-      (#{global-extend 339}#
-        'define-syntax
-        'define-syntax
-        '())
-      (#{global-extend 339}# 'eval-when 'eval-when '())
-      (#{global-extend 339}#
-        'core
-        'syntax-case
-        (letrec*
-          ((#{convert-pattern 3699}#
-             (lambda (#{pattern 3706}# #{keys 3707}#)
-               (letrec*
-                 ((#{cvt* 3711}#
-                    (lambda (#{p* 3714}# #{n 3715}# #{ids 3716}#)
-                      (if (null? #{p* 3714}#)
-                        (values '() #{ids 3716}#)
-                        (call-with-values
-                          (lambda ()
-                            (#{cvt* 3711}#
-                              (cdr #{p* 3714}#)
-                              #{n 3715}#
-                              #{ids 3716}#))
-                          (lambda (#{y 3720}# #{ids 3721}#)
-                            (call-with-values
-                              (lambda ()
-                                (#{cvt 3713}#
-                                  (car #{p* 3714}#)
-                                  #{n 3715}#
-                                  #{ids 3721}#))
-                              (lambda (#{x 3724}# #{ids 3725}#)
-                                (values
-                                  (cons #{x 3724}# #{y 3720}#)
-                                  #{ids 3725}#))))))))
-                  (#{cvt 3713}#
-                    (lambda (#{p 3728}# #{n 3729}# #{ids 3730}#)
-                      (if (#{id? 343}# #{p 3728}#)
-                        (if (#{bound-id-member? 407}#
-                              #{p 3728}#
-                              #{keys 3707}#)
-                          (values
-                            (vector 'free-id #{p 3728}#)
-                            #{ids 3730}#)
+         ((#{f 1748}#
+            (lambda (#{when-list 1749}# #{situations 1750}#)
+              (if (null? #{when-list 1749}#)
+                #{situations 1750}#
+                (#{f 1748}#
+                  (cdr #{when-list 1749}#)
+                  (cons (let ((#{x 1752}# (car #{when-list 1749}#)))
                           (if (#{free-id=? 399}#
-                                #{p 3728}#
+                                #{x 1752}#
                                 '#(syntax-object
-                                   _
+                                   compile
                                    ((top)
                                     #(ribcage () () ())
+                                    #(ribcage () () ())
+                                    #(ribcage () () ())
+                                    #(ribcage #(x) #((top)) #("i1751"))
+                                    #(ribcage () () ())
                                     #(ribcage
-                                      #(p n ids)
+                                      #(f when-list situations)
                                       #((top) (top) (top))
-                                      #("i3731" "i3732" "i3733"))
-                                    #(ribcage
-                                      (cvt cvt*)
-                                      ((top) (top))
-                                      ("i3712" "i3710"))
-                                    #(ribcage
-                                      #(pattern keys)
-                                      #((top) (top))
-                                      #("i3708" "i3709"))
+                                      #("i1745" "i1746" "i1747"))
+                                    #(ribcage () () ())
                                     #(ribcage
-                                      (gen-syntax-case
-                                        gen-clause
-                                        build-dispatch-call
-                                        convert-pattern)
-                                      ((top) (top) (top) (top))
-                                      ("i3704" "i3702" "i3700" "i3698"))
+                                      #(e when-list w)
+                                      #((top) (top) (top))
+                                      #("i1742" "i1743" "i1744"))
                                     #(ribcage
                                       (lambda-var-list
                                         gen-var
@@ -11721,7 +1589,7 @@
                                         make-let
                                         make-lambda-case
                                         make-lambda
-                                        make-sequence
+                                        make-seq
                                         make-primcall
                                         make-call
                                         make-conditional
@@ -12018,2275 +1886,12123 @@
                                       ((top) (top) (top))
                                       ("i40" "i39" "i38")))
                                    (hygiene guile)))
-                            (values '_ #{ids 3730}#)
-                            (values
-                              'any
-                              (cons (cons #{p 3728}# #{n 3729}#)
-                                    #{ids 3730}#))))
-                        (let ((#{tmp 3739}# #{p 3728}#))
-                          (let ((#{tmp 3740}#
-                                  ($sc-dispatch #{tmp 3739}# '(any any))))
-                            (if (if #{tmp 3740}#
-                                  (@apply
-                                    (lambda (#{x 3743}# #{dots 3744}#)
-                                      (#{ellipsis? 439}# #{dots 3744}#))
-                                    #{tmp 3740}#)
-                                  #f)
-                              (@apply
-                                (lambda (#{x 3747}# #{dots 3748}#)
-                                  (call-with-values
-                                    (lambda ()
-                                      (#{cvt 3713}#
-                                        #{x 3747}#
-                                        (#{1+}# #{n 3729}#)
-                                        #{ids 3730}#))
-                                    (lambda (#{p 3750}# #{ids 3751}#)
-                                      (values
-                                        (if (eq? #{p 3750}# 'any)
-                                          'each-any
-                                          (vector 'each #{p 3750}#))
-                                        #{ids 3751}#))))
-                                #{tmp 3740}#)
-                              (let ((#{tmp 3754}#
-                                      ($sc-dispatch
-                                        #{tmp 3739}#
-                                        '(any any . each-any))))
-                                (if (if #{tmp 3754}#
-                                      (@apply
-                                        (lambda (#{x 3758}#
-                                                 #{dots 3759}#
-                                                 #{ys 3760}#)
-                                          (#{ellipsis? 439}# #{dots 3759}#))
-                                        #{tmp 3754}#)
-                                      #f)
-                                  (@apply
-                                    (lambda (#{x 3764}#
-                                             #{dots 3765}#
-                                             #{ys 3766}#)
-                                      (call-with-values
-                                        (lambda ()
-                                          (#{cvt* 3711}#
-                                            #{ys 3766}#
-                                            #{n 3729}#
-                                            #{ids 3730}#))
-                                        (lambda (#{ys 3768}# #{ids 3769}#)
-                                          (call-with-values
-                                            (lambda ()
-                                              (#{cvt 3713}#
-                                                #{x 3764}#
-                                                (#{1+}# #{n 3729}#)
-                                                #{ids 3769}#))
-                                            (lambda (#{x 3772}# #{ids 3773}#)
+                            'compile
+                            (if (#{free-id=? 399}#
+                                  #{x 1752}#
+                                  '#(syntax-object
+                                     load
+                                     ((top)
+                                      #(ribcage () () ())
+                                      #(ribcage () () ())
+                                      #(ribcage () () ())
+                                      #(ribcage #(x) #((top)) #("i1751"))
+                                      #(ribcage () () ())
+                                      #(ribcage
+                                        #(f when-list situations)
+                                        #((top) (top) (top))
+                                        #("i1745" "i1746" "i1747"))
+                                      #(ribcage () () ())
+                                      #(ribcage
+                                        #(e when-list w)
+                                        #((top) (top) (top))
+                                        #("i1742" "i1743" "i1744"))
+                                      #(ribcage
+                                        (lambda-var-list
+                                          gen-var
+                                          strip
+                                          chi-lambda-case
+                                          lambda*-formals
+                                          chi-simple-lambda
+                                          lambda-formals
+                                          ellipsis?
+                                          chi-void
+                                          eval-local-transformer
+                                          chi-local-syntax
+                                          chi-body
+                                          chi-macro
+                                          chi-call
+                                          chi-expr
+                                          chi
+                                          syntax-type
+                                          chi-when-list
+                                          chi-install-global
+                                          chi-top-sequence
+                                          chi-sequence
+                                          source-wrap
+                                          wrap
+                                          bound-id-member?
+                                          distinct-bound-ids?
+                                          valid-bound-ids?
+                                          bound-id=?
+                                          free-id=?
+                                          id-var-name
+                                          same-marks?
+                                          join-marks
+                                          join-wraps
+                                          smart-append
+                                          make-binding-wrap
+                                          extend-ribcage!
+                                          make-empty-ribcage
+                                          new-mark
+                                          anti-mark
+                                          the-anti-mark
+                                          top-marked?
+                                          top-wrap
+                                          empty-wrap
+                                          set-ribcage-labels!
+                                          set-ribcage-marks!
+                                          set-ribcage-symnames!
+                                          ribcage-labels
+                                          ribcage-marks
+                                          ribcage-symnames
+                                          ribcage?
+                                          make-ribcage
+                                          gen-labels
+                                          gen-label
+                                          make-rename
+                                          rename-marks
+                                          rename-new
+                                          rename-old
+                                          subst-rename?
+                                          wrap-subst
+                                          wrap-marks
+                                          make-wrap
+                                          id-sym-name&marks
+                                          id-sym-name
+                                          id?
+                                          nonsymbol-id?
+                                          global-extend
+                                          lookup
+                                          macros-only-env
+                                          extend-var-env
+                                          extend-env
+                                          null-env
+                                          binding-value
+                                          binding-type
+                                          make-binding
+                                          arg-check
+                                          source-annotation
+                                          no-source
+                                          set-syntax-object-module!
+                                          set-syntax-object-wrap!
+                                          set-syntax-object-expression!
+                                          syntax-object-module
+                                          syntax-object-wrap
+                                          syntax-object-expression
+                                          syntax-object?
+                                          make-syntax-object
+                                          build-lexical-var
+                                          build-letrec
+                                          build-named-let
+                                          build-let
+                                          build-sequence
+                                          build-data
+                                          build-primref
+                                          build-primcall
+                                          build-lambda-case
+                                          build-case-lambda
+                                          build-simple-lambda
+                                          build-global-definition
+                                          build-global-assignment
+                                          build-global-reference
+                                          analyze-variable
+                                          build-lexical-assignment
+                                          build-lexical-reference
+                                          build-dynlet
+                                          build-conditional
+                                          build-call
+                                          build-void
+                                          maybe-name-value!
+                                          decorate-source
+                                          get-global-definition-hook
+                                          put-global-definition-hook
+                                          gensym-hook
+                                          local-eval-hook
+                                          top-level-eval-hook
+                                          fx<
+                                          fx=
+                                          fx-
+                                          fx+
+                                          set-lambda-meta!
+                                          lambda-meta
+                                          lambda?
+                                          make-dynlet
+                                          make-letrec
+                                          make-let
+                                          make-lambda-case
+                                          make-lambda
+                                          make-seq
+                                          make-primcall
+                                          make-call
+                                          make-conditional
+                                          make-toplevel-define
+                                          make-toplevel-set
+                                          make-toplevel-ref
+                                          make-module-set
+                                          make-module-ref
+                                          make-lexical-set
+                                          make-lexical-ref
+                                          make-primitive-ref
+                                          make-const
+                                          make-void)
+                                        ((top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top)
+                                         (top))
+                                        ("i452"
+                                         "i450"
+                                         "i448"
+                                         "i446"
+                                         "i444"
+                                         "i442"
+                                         "i440"
+                                         "i438"
+                                         "i436"
+                                         "i434"
+                                         "i432"
+                                         "i430"
+                                         "i428"
+                                         "i426"
+                                         "i424"
+                                         "i422"
+                                         "i420"
+                                         "i418"
+                                         "i416"
+                                         "i414"
+                                         "i412"
+                                         "i410"
+                                         "i408"
+                                         "i406"
+                                         "i404"
+                                         "i402"
+                                         "i400"
+                                         "i398"
+                                         "i396"
+                                         "i394"
+                                         "i392"
+                                         "i390"
+                                         "i388"
+                                         "i386"
+                                         "i384"
+                                         "i383"
+                                         "i382"
+                                         "i380"
+                                         "i379"
+                                         "i378"
+                                         "i377"
+                                         "i376"
+                                         "i374"
+                                         "i372"
+                                         "i370"
+                                         "i368"
+                                         "i366"
+                                         "i364"
+                                         "i362"
+                                         "i360"
+                                         "i357"
+                                         "i355"
+                                         "i354"
+                                         "i353"
+                                         "i352"
+                                         "i351"
+                                         "i350"
+                                         "i349"
+                                         "i348"
+                                         "i347"
+                                         "i345"
+                                         "i344"
+                                         "i342"
+                                         "i340"
+                                         "i338"
+                                         "i336"
+                                         "i334"
+                                         "i332"
+                                         "i330"
+                                         "i329"
+                                         "i328"
+                                         "i327"
+                                         "i326"
+                                         "i325"
+                                         "i323"
+                                         "i322"
+                                         "i320"
+                                         "i318"
+                                         "i316"
+                                         "i314"
+                                         "i312"
+                                         "i310"
+                                         "i308"
+                                         "i306"
+                                         "i304"
+                                         "i302"
+                                         "i300"
+                                         "i298"
+                                         "i296"
+                                         "i294"
+                                         "i292"
+                                         "i290"
+                                         "i288"
+                                         "i286"
+                                         "i284"
+                                         "i282"
+                                         "i280"
+                                         "i278"
+                                         "i276"
+                                         "i274"
+                                         "i272"
+                                         "i270"
+                                         "i268"
+                                         "i266"
+                                         "i264"
+                                         "i262"
+                                         "i260"
+                                         "i258"
+                                         "i256"
+                                         "i255"
+                                         "i253"
+                                         "i251"
+                                         "i250"
+                                         "i249"
+                                         "i248"
+                                         "i247"
+                                         "i245"
+                                         "i243"
+                                         "i241"
+                                         "i238"
+                                         "i236"
+                                         "i234"
+                                         "i232"
+                                         "i230"
+                                         "i228"
+                                         "i226"
+                                         "i224"
+                                         "i222"
+                                         "i220"
+                                         "i218"
+                                         "i216"
+                                         "i214"
+                                         "i212"
+                                         "i210"
+                                         "i208"
+                                         "i206"
+                                         "i204"
+                                         "i202"))
+                                      #(ribcage
+                                        (define-structure
+                                          define-expansion-accessors
+                                          define-expansion-constructors)
+                                        ((top) (top) (top))
+                                        ("i40" "i39" "i38")))
+                                     (hygiene guile)))
+                              'load
+                              (if (#{free-id=? 399}#
+                                    #{x 1752}#
+                                    '#(syntax-object
+                                       eval
+                                       ((top)
+                                        #(ribcage () () ())
+                                        #(ribcage () () ())
+                                        #(ribcage () () ())
+                                        #(ribcage #(x) #((top)) #("i1751"))
+                                        #(ribcage () () ())
+                                        #(ribcage
+                                          #(f when-list situations)
+                                          #((top) (top) (top))
+                                          #("i1745" "i1746" "i1747"))
+                                        #(ribcage () () ())
+                                        #(ribcage
+                                          #(e when-list w)
+                                          #((top) (top) (top))
+                                          #("i1742" "i1743" "i1744"))
+                                        #(ribcage
+                                          (lambda-var-list
+                                            gen-var
+                                            strip
+                                            chi-lambda-case
+                                            lambda*-formals
+                                            chi-simple-lambda
+                                            lambda-formals
+                                            ellipsis?
+                                            chi-void
+                                            eval-local-transformer
+                                            chi-local-syntax
+                                            chi-body
+                                            chi-macro
+                                            chi-call
+                                            chi-expr
+                                            chi
+                                            syntax-type
+                                            chi-when-list
+                                            chi-install-global
+                                            chi-top-sequence
+                                            chi-sequence
+                                            source-wrap
+                                            wrap
+                                            bound-id-member?
+                                            distinct-bound-ids?
+                                            valid-bound-ids?
+                                            bound-id=?
+                                            free-id=?
+                                            id-var-name
+                                            same-marks?
+                                            join-marks
+                                            join-wraps
+                                            smart-append
+                                            make-binding-wrap
+                                            extend-ribcage!
+                                            make-empty-ribcage
+                                            new-mark
+                                            anti-mark
+                                            the-anti-mark
+                                            top-marked?
+                                            top-wrap
+                                            empty-wrap
+                                            set-ribcage-labels!
+                                            set-ribcage-marks!
+                                            set-ribcage-symnames!
+                                            ribcage-labels
+                                            ribcage-marks
+                                            ribcage-symnames
+                                            ribcage?
+                                            make-ribcage
+                                            gen-labels
+                                            gen-label
+                                            make-rename
+                                            rename-marks
+                                            rename-new
+                                            rename-old
+                                            subst-rename?
+                                            wrap-subst
+                                            wrap-marks
+                                            make-wrap
+                                            id-sym-name&marks
+                                            id-sym-name
+                                            id?
+                                            nonsymbol-id?
+                                            global-extend
+                                            lookup
+                                            macros-only-env
+                                            extend-var-env
+                                            extend-env
+                                            null-env
+                                            binding-value
+                                            binding-type
+                                            make-binding
+                                            arg-check
+                                            source-annotation
+                                            no-source
+                                            set-syntax-object-module!
+                                            set-syntax-object-wrap!
+                                            set-syntax-object-expression!
+                                            syntax-object-module
+                                            syntax-object-wrap
+                                            syntax-object-expression
+                                            syntax-object?
+                                            make-syntax-object
+                                            build-lexical-var
+                                            build-letrec
+                                            build-named-let
+                                            build-let
+                                            build-sequence
+                                            build-data
+                                            build-primref
+                                            build-primcall
+                                            build-lambda-case
+                                            build-case-lambda
+                                            build-simple-lambda
+                                            build-global-definition
+                                            build-global-assignment
+                                            build-global-reference
+                                            analyze-variable
+                                            build-lexical-assignment
+                                            build-lexical-reference
+                                            build-dynlet
+                                            build-conditional
+                                            build-call
+                                            build-void
+                                            maybe-name-value!
+                                            decorate-source
+                                            get-global-definition-hook
+                                            put-global-definition-hook
+                                            gensym-hook
+                                            local-eval-hook
+                                            top-level-eval-hook
+                                            fx<
+                                            fx=
+                                            fx-
+                                            fx+
+                                            set-lambda-meta!
+                                            lambda-meta
+                                            lambda?
+                                            make-dynlet
+                                            make-letrec
+                                            make-let
+                                            make-lambda-case
+                                            make-lambda
+                                            make-seq
+                                            make-primcall
+                                            make-call
+                                            make-conditional
+                                            make-toplevel-define
+                                            make-toplevel-set
+                                            make-toplevel-ref
+                                            make-module-set
+                                            make-module-ref
+                                            make-lexical-set
+                                            make-lexical-ref
+                                            make-primitive-ref
+                                            make-const
+                                            make-void)
+                                          ((top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top))
+                                          ("i452"
+                                           "i450"
+                                           "i448"
+                                           "i446"
+                                           "i444"
+                                           "i442"
+                                           "i440"
+                                           "i438"
+                                           "i436"
+                                           "i434"
+                                           "i432"
+                                           "i430"
+                                           "i428"
+                                           "i426"
+                                           "i424"
+                                           "i422"
+                                           "i420"
+                                           "i418"
+                                           "i416"
+                                           "i414"
+                                           "i412"
+                                           "i410"
+                                           "i408"
+                                           "i406"
+                                           "i404"
+                                           "i402"
+                                           "i400"
+                                           "i398"
+                                           "i396"
+                                           "i394"
+                                           "i392"
+                                           "i390"
+                                           "i388"
+                                           "i386"
+                                           "i384"
+                                           "i383"
+                                           "i382"
+                                           "i380"
+                                           "i379"
+                                           "i378"
+                                           "i377"
+                                           "i376"
+                                           "i374"
+                                           "i372"
+                                           "i370"
+                                           "i368"
+                                           "i366"
+                                           "i364"
+                                           "i362"
+                                           "i360"
+                                           "i357"
+                                           "i355"
+                                           "i354"
+                                           "i353"
+                                           "i352"
+                                           "i351"
+                                           "i350"
+                                           "i349"
+                                           "i348"
+                                           "i347"
+                                           "i345"
+                                           "i344"
+                                           "i342"
+                                           "i340"
+                                           "i338"
+                                           "i336"
+                                           "i334"
+                                           "i332"
+                                           "i330"
+                                           "i329"
+                                           "i328"
+                                           "i327"
+                                           "i326"
+                                           "i325"
+                                           "i323"
+                                           "i322"
+                                           "i320"
+                                           "i318"
+                                           "i316"
+                                           "i314"
+                                           "i312"
+                                           "i310"
+                                           "i308"
+                                           "i306"
+                                           "i304"
+                                           "i302"
+                                           "i300"
+                                           "i298"
+                                           "i296"
+                                           "i294"
+                                           "i292"
+                                           "i290"
+                                           "i288"
+                                           "i286"
+                                           "i284"
+                                           "i282"
+                                           "i280"
+                                           "i278"
+                                           "i276"
+                                           "i274"
+                                           "i272"
+                                           "i270"
+                                           "i268"
+                                           "i266"
+                                           "i264"
+                                           "i262"
+                                           "i260"
+                                           "i258"
+                                           "i256"
+                                           "i255"
+                                           "i253"
+                                           "i251"
+                                           "i250"
+                                           "i249"
+                                           "i248"
+                                           "i247"
+                                           "i245"
+                                           "i243"
+                                           "i241"
+                                           "i238"
+                                           "i236"
+                                           "i234"
+                                           "i232"
+                                           "i230"
+                                           "i228"
+                                           "i226"
+                                           "i224"
+                                           "i222"
+                                           "i220"
+                                           "i218"
+                                           "i216"
+                                           "i214"
+                                           "i212"
+                                           "i210"
+                                           "i208"
+                                           "i206"
+                                           "i204"
+                                           "i202"))
+                                        #(ribcage
+                                          (define-structure
+                                            define-expansion-accessors
+                                            define-expansion-constructors)
+                                          ((top) (top) (top))
+                                          ("i40" "i39" "i38")))
+                                       (hygiene guile)))
+                                'eval
+                                (if (#{free-id=? 399}#
+                                      #{x 1752}#
+                                      '#(syntax-object
+                                         expand
+                                         ((top)
+                                          #(ribcage () () ())
+                                          #(ribcage () () ())
+                                          #(ribcage () () ())
+                                          #(ribcage #(x) #((top)) #("i1751"))
+                                          #(ribcage () () ())
+                                          #(ribcage
+                                            #(f when-list situations)
+                                            #((top) (top) (top))
+                                            #("i1745" "i1746" "i1747"))
+                                          #(ribcage () () ())
+                                          #(ribcage
+                                            #(e when-list w)
+                                            #((top) (top) (top))
+                                            #("i1742" "i1743" "i1744"))
+                                          #(ribcage
+                                            (lambda-var-list
+                                              gen-var
+                                              strip
+                                              chi-lambda-case
+                                              lambda*-formals
+                                              chi-simple-lambda
+                                              lambda-formals
+                                              ellipsis?
+                                              chi-void
+                                              eval-local-transformer
+                                              chi-local-syntax
+                                              chi-body
+                                              chi-macro
+                                              chi-call
+                                              chi-expr
+                                              chi
+                                              syntax-type
+                                              chi-when-list
+                                              chi-install-global
+                                              chi-top-sequence
+                                              chi-sequence
+                                              source-wrap
+                                              wrap
+                                              bound-id-member?
+                                              distinct-bound-ids?
+                                              valid-bound-ids?
+                                              bound-id=?
+                                              free-id=?
+                                              id-var-name
+                                              same-marks?
+                                              join-marks
+                                              join-wraps
+                                              smart-append
+                                              make-binding-wrap
+                                              extend-ribcage!
+                                              make-empty-ribcage
+                                              new-mark
+                                              anti-mark
+                                              the-anti-mark
+                                              top-marked?
+                                              top-wrap
+                                              empty-wrap
+                                              set-ribcage-labels!
+                                              set-ribcage-marks!
+                                              set-ribcage-symnames!
+                                              ribcage-labels
+                                              ribcage-marks
+                                              ribcage-symnames
+                                              ribcage?
+                                              make-ribcage
+                                              gen-labels
+                                              gen-label
+                                              make-rename
+                                              rename-marks
+                                              rename-new
+                                              rename-old
+                                              subst-rename?
+                                              wrap-subst
+                                              wrap-marks
+                                              make-wrap
+                                              id-sym-name&marks
+                                              id-sym-name
+                                              id?
+                                              nonsymbol-id?
+                                              global-extend
+                                              lookup
+                                              macros-only-env
+                                              extend-var-env
+                                              extend-env
+                                              null-env
+                                              binding-value
+                                              binding-type
+                                              make-binding
+                                              arg-check
+                                              source-annotation
+                                              no-source
+                                              set-syntax-object-module!
+                                              set-syntax-object-wrap!
+                                              set-syntax-object-expression!
+                                              syntax-object-module
+                                              syntax-object-wrap
+                                              syntax-object-expression
+                                              syntax-object?
+                                              make-syntax-object
+                                              build-lexical-var
+                                              build-letrec
+                                              build-named-let
+                                              build-let
+                                              build-sequence
+                                              build-data
+                                              build-primref
+                                              build-primcall
+                                              build-lambda-case
+                                              build-case-lambda
+                                              build-simple-lambda
+                                              build-global-definition
+                                              build-global-assignment
+                                              build-global-reference
+                                              analyze-variable
+                                              build-lexical-assignment
+                                              build-lexical-reference
+                                              build-dynlet
+                                              build-conditional
+                                              build-call
+                                              build-void
+                                              maybe-name-value!
+                                              decorate-source
+                                              get-global-definition-hook
+                                              put-global-definition-hook
+                                              gensym-hook
+                                              local-eval-hook
+                                              top-level-eval-hook
+                                              fx<
+                                              fx=
+                                              fx-
+                                              fx+
+                                              set-lambda-meta!
+                                              lambda-meta
+                                              lambda?
+                                              make-dynlet
+                                              make-letrec
+                                              make-let
+                                              make-lambda-case
+                                              make-lambda
+                                              make-seq
+                                              make-primcall
+                                              make-call
+                                              make-conditional
+                                              make-toplevel-define
+                                              make-toplevel-set
+                                              make-toplevel-ref
+                                              make-module-set
+                                              make-module-ref
+                                              make-lexical-set
+                                              make-lexical-ref
+                                              make-primitive-ref
+                                              make-const
+                                              make-void)
+                                            ((top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top))
+                                            ("i452"
+                                             "i450"
+                                             "i448"
+                                             "i446"
+                                             "i444"
+                                             "i442"
+                                             "i440"
+                                             "i438"
+                                             "i436"
+                                             "i434"
+                                             "i432"
+                                             "i430"
+                                             "i428"
+                                             "i426"
+                                             "i424"
+                                             "i422"
+                                             "i420"
+                                             "i418"
+                                             "i416"
+                                             "i414"
+                                             "i412"
+                                             "i410"
+                                             "i408"
+                                             "i406"
+                                             "i404"
+                                             "i402"
+                                             "i400"
+                                             "i398"
+                                             "i396"
+                                             "i394"
+                                             "i392"
+                                             "i390"
+                                             "i388"
+                                             "i386"
+                                             "i384"
+                                             "i383"
+                                             "i382"
+                                             "i380"
+                                             "i379"
+                                             "i378"
+                                             "i377"
+                                             "i376"
+                                             "i374"
+                                             "i372"
+                                             "i370"
+                                             "i368"
+                                             "i366"
+                                             "i364"
+                                             "i362"
+                                             "i360"
+                                             "i357"
+                                             "i355"
+                                             "i354"
+                                             "i353"
+                                             "i352"
+                                             "i351"
+                                             "i350"
+                                             "i349"
+                                             "i348"
+                                             "i347"
+                                             "i345"
+                                             "i344"
+                                             "i342"
+                                             "i340"
+                                             "i338"
+                                             "i336"
+                                             "i334"
+                                             "i332"
+                                             "i330"
+                                             "i329"
+                                             "i328"
+                                             "i327"
+                                             "i326"
+                                             "i325"
+                                             "i323"
+                                             "i322"
+                                             "i320"
+                                             "i318"
+                                             "i316"
+                                             "i314"
+                                             "i312"
+                                             "i310"
+                                             "i308"
+                                             "i306"
+                                             "i304"
+                                             "i302"
+                                             "i300"
+                                             "i298"
+                                             "i296"
+                                             "i294"
+                                             "i292"
+                                             "i290"
+                                             "i288"
+                                             "i286"
+                                             "i284"
+                                             "i282"
+                                             "i280"
+                                             "i278"
+                                             "i276"
+                                             "i274"
+                                             "i272"
+                                             "i270"
+                                             "i268"
+                                             "i266"
+                                             "i264"
+                                             "i262"
+                                             "i260"
+                                             "i258"
+                                             "i256"
+                                             "i255"
+                                             "i253"
+                                             "i251"
+                                             "i250"
+                                             "i249"
+                                             "i248"
+                                             "i247"
+                                             "i245"
+                                             "i243"
+                                             "i241"
+                                             "i238"
+                                             "i236"
+                                             "i234"
+                                             "i232"
+                                             "i230"
+                                             "i228"
+                                             "i226"
+                                             "i224"
+                                             "i222"
+                                             "i220"
+                                             "i218"
+                                             "i216"
+                                             "i214"
+                                             "i212"
+                                             "i210"
+                                             "i208"
+                                             "i206"
+                                             "i204"
+                                             "i202"))
+                                          #(ribcage
+                                            (define-structure
+                                              define-expansion-accessors
+                                              define-expansion-constructors)
+                                            ((top) (top) (top))
+                                            ("i40" "i39" "i38")))
+                                         (hygiene guile)))
+                                  'expand
+                                  (syntax-violation
+                                    'eval-when
+                                    "invalid situation"
+                                    #{e 1739}#
+                                    (#{wrap 409}#
+                                      #{x 1752}#
+                                      #{w 1741}#
+                                      #f)))))))
+                        #{situations 1750}#))))))
+         (#{f 1748}# #{when-list 1740}# '()))))
+   (#{syntax-type 421}#
+     (lambda (#{e 1762}#
+              #{r 1763}#
+              #{w 1764}#
+              #{s 1765}#
+              #{rib 1766}#
+              #{mod 1767}#
+              #{for-car? 1768}#)
+       (if (symbol? #{e 1762}#)
+         (let ((#{n 1780}#
+                 (#{id-var-name 397}# #{e 1762}# #{w 1764}#)))
+           (let ((#{b 1782}#
+                   (#{lookup 337}#
+                     #{n 1780}#
+                     #{r 1763}#
+                     #{mod 1767}#)))
+             (let ((#{type 1784}# (car #{b 1782}#)))
+               (if (memv #{type 1784}# '(lexical))
+                 (values
+                   #{type 1784}#
+                   (cdr #{b 1782}#)
+                   #{e 1762}#
+                   #{w 1764}#
+                   #{s 1765}#
+                   #{mod 1767}#)
+                 (if (memv #{type 1784}# '(global))
+                   (values
+                     #{type 1784}#
+                     #{n 1780}#
+                     #{e 1762}#
+                     #{w 1764}#
+                     #{s 1765}#
+                     #{mod 1767}#)
+                   (if (memv #{type 1784}# '(macro))
+                     (if #{for-car? 1768}#
+                       (values
+                         #{type 1784}#
+                         (cdr #{b 1782}#)
+                         #{e 1762}#
+                         #{w 1764}#
+                         #{s 1765}#
+                         #{mod 1767}#)
+                       (#{syntax-type 421}#
+                         (#{chi-macro 429}#
+                           (cdr #{b 1782}#)
+                           #{e 1762}#
+                           #{r 1763}#
+                           #{w 1764}#
+                           #{s 1765}#
+                           #{rib 1766}#
+                           #{mod 1767}#)
+                         #{r 1763}#
+                         '(())
+                         #{s 1765}#
+                         #{rib 1766}#
+                         #{mod 1767}#
+                         #f))
+                     (values
+                       #{type 1784}#
+                       (cdr #{b 1782}#)
+                       #{e 1762}#
+                       #{w 1764}#
+                       #{s 1765}#
+                       #{mod 1767}#)))))))
+         (if (pair? #{e 1762}#)
+           (let ((#{first 1798}# (car #{e 1762}#)))
+             (call-with-values
+               (lambda ()
+                 (#{syntax-type 421}#
+                   #{first 1798}#
+                   #{r 1763}#
+                   #{w 1764}#
+                   #{s 1765}#
+                   #{rib 1766}#
+                   #{mod 1767}#
+                   #t))
+               (lambda (#{ftype 1799}#
+                        #{fval 1800}#
+                        #{fe 1801}#
+                        #{fw 1802}#
+                        #{fs 1803}#
+                        #{fmod 1804}#)
+                 (if (memv #{ftype 1799}# '(lexical))
+                   (values
+                     'lexical-call
+                     #{fval 1800}#
+                     #{e 1762}#
+                     #{w 1764}#
+                     #{s 1765}#
+                     #{mod 1767}#)
+                   (if (memv #{ftype 1799}# '(global))
+                     (values
+                       'global-call
+                       (#{make-syntax-object 307}#
+                         #{fval 1800}#
+                         #{w 1764}#
+                         #{fmod 1804}#)
+                       #{e 1762}#
+                       #{w 1764}#
+                       #{s 1765}#
+                       #{mod 1767}#)
+                     (if (memv #{ftype 1799}# '(macro))
+                       (#{syntax-type 421}#
+                         (#{chi-macro 429}#
+                           #{fval 1800}#
+                           #{e 1762}#
+                           #{r 1763}#
+                           #{w 1764}#
+                           #{s 1765}#
+                           #{rib 1766}#
+                           #{mod 1767}#)
+                         #{r 1763}#
+                         '(())
+                         #{s 1765}#
+                         #{rib 1766}#
+                         #{mod 1767}#
+                         #{for-car? 1768}#)
+                       (if (memv #{ftype 1799}# '(module-ref))
+                         (call-with-values
+                           (lambda ()
+                             (#{fval 1800}# #{e 1762}# #{r 1763}# #{w 1764}#))
+                           (lambda (#{e 1816}#
+                                    #{r 1817}#
+                                    #{w 1818}#
+                                    #{s 1819}#
+                                    #{mod 1820}#)
+                             (#{syntax-type 421}#
+                               #{e 1816}#
+                               #{r 1817}#
+                               #{w 1818}#
+                               #{s 1819}#
+                               #{rib 1766}#
+                               #{mod 1820}#
+                               #{for-car? 1768}#)))
+                         (if (memv #{ftype 1799}# '(core))
+                           (values
+                             'core-form
+                             #{fval 1800}#
+                             #{e 1762}#
+                             #{w 1764}#
+                             #{s 1765}#
+                             #{mod 1767}#)
+                           (if (memv #{ftype 1799}# '(local-syntax))
+                             (values
+                               'local-syntax-form
+                               #{fval 1800}#
+                               #{e 1762}#
+                               #{w 1764}#
+                               #{s 1765}#
+                               #{mod 1767}#)
+                             (if (memv #{ftype 1799}# '(begin))
+                               (values
+                                 'begin-form
+                                 #f
+                                 #{e 1762}#
+                                 #{w 1764}#
+                                 #{s 1765}#
+                                 #{mod 1767}#)
+                               (if (memv #{ftype 1799}# '(eval-when))
+                                 (values
+                                   'eval-when-form
+                                   #f
+                                   #{e 1762}#
+                                   #{w 1764}#
+                                   #{s 1765}#
+                                   #{mod 1767}#)
+                                 (if (memv #{ftype 1799}# '(define))
+                                   (let ((#{tmp 1831}# #{e 1762}#))
+                                     (let ((#{tmp 1832}#
+                                             ($sc-dispatch
+                                               #{tmp 1831}#
+                                               '(_ any any))))
+                                       (if (if #{tmp 1832}#
+                                             (@apply
+                                               (lambda (#{name 1835}#
+                                                        #{val 1836}#)
+                                                 (#{id? 343}# #{name 1835}#))
+                                               #{tmp 1832}#)
+                                             #f)
+                                         (@apply
+                                           (lambda (#{name 1839}# #{val 1840}#)
+                                             (values
+                                               'define-form
+                                               #{name 1839}#
+                                               #{val 1840}#
+                                               #{w 1764}#
+                                               #{s 1765}#
+                                               #{mod 1767}#))
+                                           #{tmp 1832}#)
+                                         (let ((#{tmp 1841}#
+                                                 ($sc-dispatch
+                                                   #{tmp 1831}#
+                                                   '(_ (any . any)
+                                                       any
+                                                       .
+                                                       each-any))))
+                                           (if (if #{tmp 1841}#
+                                                 (@apply
+                                                   (lambda (#{name 1846}#
+                                                            #{args 1847}#
+                                                            #{e1 1848}#
+                                                            #{e2 1849}#)
+                                                     (if (#{id? 343}#
+                                                           #{name 1846}#)
+                                                       (#{valid-bound-ids? 
403}#
+                                                         (#{lambda-var-list 
453}#
+                                                           #{args 1847}#))
+                                                       #f))
+                                                   #{tmp 1841}#)
+                                                 #f)
+                                             (@apply
+                                               (lambda (#{name 1856}#
+                                                        #{args 1857}#
+                                                        #{e1 1858}#
+                                                        #{e2 1859}#)
+                                                 (values
+                                                   'define-form
+                                                   (#{wrap 409}#
+                                                     #{name 1856}#
+                                                     #{w 1764}#
+                                                     #{mod 1767}#)
+                                                   (#{decorate-source 261}#
+                                                     (cons '#(syntax-object
+                                                              lambda
+                                                              ((top)
+                                                               #(ribcage
+                                                                 #(name
+                                                                   args
+                                                                   e1
+                                                                   e2)
+                                                                 #((top)
+                                                                   (top)
+                                                                   (top)
+                                                                   (top))
+                                                                 #("i1852"
+                                                                   "i1853"
+                                                                   "i1854"
+                                                                   "i1855"))
+                                                               #(ribcage
+                                                                 ()
+                                                                 ()
+                                                                 ())
+                                                               #(ribcage
+                                                                 ()
+                                                                 ()
+                                                                 ())
+                                                               #(ribcage
+                                                                 #(ftype
+                                                                   fval
+                                                                   fe
+                                                                   fw
+                                                                   fs
+                                                                   fmod)
+                                                                 #((top)
+                                                                   (top)
+                                                                   (top)
+                                                                   (top)
+                                                                   (top)
+                                                                   (top))
+                                                                 #("i1805"
+                                                                   "i1806"
+                                                                   "i1807"
+                                                                   "i1808"
+                                                                   "i1809"
+                                                                   "i1810"))
+                                                               #(ribcage
+                                                                 ()
+                                                                 ()
+                                                                 ())
+                                                               #(ribcage
+                                                                 #(first)
+                                                                 #((top))
+                                                                 #("i1797"))
+                                                               #(ribcage
+                                                                 ()
+                                                                 ()
+                                                                 ())
+                                                               #(ribcage
+                                                                 ()
+                                                                 ()
+                                                                 ())
+                                                               #(ribcage
+                                                                 ()
+                                                                 ()
+                                                                 ())
+                                                               #(ribcage
+                                                                 #(e
+                                                                   r
+                                                                   w
+                                                                   s
+                                                                   rib
+                                                                   mod
+                                                                   for-car?)
+                                                                 #((top)
+                                                                   (top)
+                                                                   (top)
+                                                                   (top)
+                                                                   (top)
+                                                                   (top)
+                                                                   (top))
+                                                                 #("i1769"
+                                                                   "i1770"
+                                                                   "i1771"
+                                                                   "i1772"
+                                                                   "i1773"
+                                                                   "i1774"
+                                                                   "i1775"))
+                                                               #(ribcage
+                                                                 
(lambda-var-list
+                                                                   gen-var
+                                                                   strip
+                                                                   
chi-lambda-case
+                                                                   
lambda*-formals
+                                                                   
chi-simple-lambda
+                                                                   
lambda-formals
+                                                                   ellipsis?
+                                                                   chi-void
+                                                                   
eval-local-transformer
+                                                                   
chi-local-syntax
+                                                                   chi-body
+                                                                   chi-macro
+                                                                   chi-call
+                                                                   chi-expr
+                                                                   chi
+                                                                   syntax-type
+                                                                   
chi-when-list
+                                                                   
chi-install-global
+                                                                   
chi-top-sequence
+                                                                   chi-sequence
+                                                                   source-wrap
+                                                                   wrap
+                                                                   
bound-id-member?
+                                                                   
distinct-bound-ids?
+                                                                   
valid-bound-ids?
+                                                                   bound-id=?
+                                                                   free-id=?
+                                                                   id-var-name
+                                                                   same-marks?
+                                                                   join-marks
+                                                                   join-wraps
+                                                                   smart-append
+                                                                   
make-binding-wrap
+                                                                   
extend-ribcage!
+                                                                   
make-empty-ribcage
+                                                                   new-mark
+                                                                   anti-mark
+                                                                   
the-anti-mark
+                                                                   top-marked?
+                                                                   top-wrap
+                                                                   empty-wrap
+                                                                   
set-ribcage-labels!
+                                                                   
set-ribcage-marks!
+                                                                   
set-ribcage-symnames!
+                                                                   
ribcage-labels
+                                                                   
ribcage-marks
+                                                                   
ribcage-symnames
+                                                                   ribcage?
+                                                                   make-ribcage
+                                                                   gen-labels
+                                                                   gen-label
+                                                                   make-rename
+                                                                   rename-marks
+                                                                   rename-new
+                                                                   rename-old
+                                                                   
subst-rename?
+                                                                   wrap-subst
+                                                                   wrap-marks
+                                                                   make-wrap
+                                                                   
id-sym-name&marks
+                                                                   id-sym-name
+                                                                   id?
+                                                                   
nonsymbol-id?
+                                                                   
global-extend
+                                                                   lookup
+                                                                   
macros-only-env
+                                                                   
extend-var-env
+                                                                   extend-env
+                                                                   null-env
+                                                                   
binding-value
+                                                                   binding-type
+                                                                   make-binding
+                                                                   arg-check
+                                                                   
source-annotation
+                                                                   no-source
+                                                                   
set-syntax-object-module!
+                                                                   
set-syntax-object-wrap!
+                                                                   
set-syntax-object-expression!
+                                                                   
syntax-object-module
+                                                                   
syntax-object-wrap
+                                                                   
syntax-object-expression
+                                                                   
syntax-object?
+                                                                   
make-syntax-object
+                                                                   
build-lexical-var
+                                                                   build-letrec
+                                                                   
build-named-let
+                                                                   build-let
+                                                                   
build-sequence
+                                                                   build-data
+                                                                   
build-primref
+                                                                   
build-primcall
+                                                                   
build-lambda-case
+                                                                   
build-case-lambda
+                                                                   
build-simple-lambda
+                                                                   
build-global-definition
+                                                                   
build-global-assignment
+                                                                   
build-global-reference
+                                                                   
analyze-variable
+                                                                   
build-lexical-assignment
+                                                                   
build-lexical-reference
+                                                                   build-dynlet
+                                                                   
build-conditional
+                                                                   build-call
+                                                                   build-void
+                                                                   
maybe-name-value!
+                                                                   
decorate-source
+                                                                   
get-global-definition-hook
+                                                                   
put-global-definition-hook
+                                                                   gensym-hook
+                                                                   
local-eval-hook
+                                                                   
top-level-eval-hook
+                                                                   fx<
+                                                                   fx=
+                                                                   fx-
+                                                                   fx+
+                                                                   
set-lambda-meta!
+                                                                   lambda-meta
+                                                                   lambda?
+                                                                   make-dynlet
+                                                                   make-letrec
+                                                                   make-let
+                                                                   
make-lambda-case
+                                                                   make-lambda
+                                                                   make-seq
+                                                                   
make-primcall
+                                                                   make-call
+                                                                   
make-conditional
+                                                                   
make-toplevel-define
+                                                                   
make-toplevel-set
+                                                                   
make-toplevel-ref
+                                                                   
make-module-set
+                                                                   
make-module-ref
+                                                                   
make-lexical-set
+                                                                   
make-lexical-ref
+                                                                   
make-primitive-ref
+                                                                   make-const
+                                                                   make-void)
+                                                                 ((top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top)
+                                                                  (top))
+                                                                 ("i452"
+                                                                  "i450"
+                                                                  "i448"
+                                                                  "i446"
+                                                                  "i444"
+                                                                  "i442"
+                                                                  "i440"
+                                                                  "i438"
+                                                                  "i436"
+                                                                  "i434"
+                                                                  "i432"
+                                                                  "i430"
+                                                                  "i428"
+                                                                  "i426"
+                                                                  "i424"
+                                                                  "i422"
+                                                                  "i420"
+                                                                  "i418"
+                                                                  "i416"
+                                                                  "i414"
+                                                                  "i412"
+                                                                  "i410"
+                                                                  "i408"
+                                                                  "i406"
+                                                                  "i404"
+                                                                  "i402"
+                                                                  "i400"
+                                                                  "i398"
+                                                                  "i396"
+                                                                  "i394"
+                                                                  "i392"
+                                                                  "i390"
+                                                                  "i388"
+                                                                  "i386"
+                                                                  "i384"
+                                                                  "i383"
+                                                                  "i382"
+                                                                  "i380"
+                                                                  "i379"
+                                                                  "i378"
+                                                                  "i377"
+                                                                  "i376"
+                                                                  "i374"
+                                                                  "i372"
+                                                                  "i370"
+                                                                  "i368"
+                                                                  "i366"
+                                                                  "i364"
+                                                                  "i362"
+                                                                  "i360"
+                                                                  "i357"
+                                                                  "i355"
+                                                                  "i354"
+                                                                  "i353"
+                                                                  "i352"
+                                                                  "i351"
+                                                                  "i350"
+                                                                  "i349"
+                                                                  "i348"
+                                                                  "i347"
+                                                                  "i345"
+                                                                  "i344"
+                                                                  "i342"
+                                                                  "i340"
+                                                                  "i338"
+                                                                  "i336"
+                                                                  "i334"
+                                                                  "i332"
+                                                                  "i330"
+                                                                  "i329"
+                                                                  "i328"
+                                                                  "i327"
+                                                                  "i326"
+                                                                  "i325"
+                                                                  "i323"
+                                                                  "i322"
+                                                                  "i320"
+                                                                  "i318"
+                                                                  "i316"
+                                                                  "i314"
+                                                                  "i312"
+                                                                  "i310"
+                                                                  "i308"
+                                                                  "i306"
+                                                                  "i304"
+                                                                  "i302"
+                                                                  "i300"
+                                                                  "i298"
+                                                                  "i296"
+                                                                  "i294"
+                                                                  "i292"
+                                                                  "i290"
+                                                                  "i288"
+                                                                  "i286"
+                                                                  "i284"
+                                                                  "i282"
+                                                                  "i280"
+                                                                  "i278"
+                                                                  "i276"
+                                                                  "i274"
+                                                                  "i272"
+                                                                  "i270"
+                                                                  "i268"
+                                                                  "i266"
+                                                                  "i264"
+                                                                  "i262"
+                                                                  "i260"
+                                                                  "i258"
+                                                                  "i256"
+                                                                  "i255"
+                                                                  "i253"
+                                                                  "i251"
+                                                                  "i250"
+                                                                  "i249"
+                                                                  "i248"
+                                                                  "i247"
+                                                                  "i245"
+                                                                  "i243"
+                                                                  "i241"
+                                                                  "i238"
+                                                                  "i236"
+                                                                  "i234"
+                                                                  "i232"
+                                                                  "i230"
+                                                                  "i228"
+                                                                  "i226"
+                                                                  "i224"
+                                                                  "i222"
+                                                                  "i220"
+                                                                  "i218"
+                                                                  "i216"
+                                                                  "i214"
+                                                                  "i212"
+                                                                  "i210"
+                                                                  "i208"
+                                                                  "i206"
+                                                                  "i204"
+                                                                  "i202"))
+                                                               #(ribcage
+                                                                 
(define-structure
+                                                                   
define-expansion-accessors
+                                                                   
define-expansion-constructors)
+                                                                 ((top)
+                                                                  (top)
+                                                                  (top))
+                                                                 ("i40"
+                                                                  "i39"
+                                                                  "i38")))
+                                                              (hygiene guile))
+                                                           (#{wrap 409}#
+                                                             (cons #{args 
1857}#
+                                                                   (cons #{e1 
1858}#
+                                                                         #{e2 
1859}#))
+                                                             #{w 1764}#
+                                                             #{mod 1767}#))
+                                                     #{s 1765}#)
+                                                   '(())
+                                                   #{s 1765}#
+                                                   #{mod 1767}#))
+                                               #{tmp 1841}#)
+                                             (let ((#{tmp 1862}#
+                                                     ($sc-dispatch
+                                                       #{tmp 1831}#
+                                                       '(_ any))))
+                                               (if (if #{tmp 1862}#
+                                                     (@apply
+                                                       (lambda (#{name 1864}#)
+                                                         (#{id? 343}#
+                                                           #{name 1864}#))
+                                                       #{tmp 1862}#)
+                                                     #f)
+                                                 (@apply
+                                                   (lambda (#{name 1866}#)
+                                                     (values
+                                                       'define-form
+                                                       (#{wrap 409}#
+                                                         #{name 1866}#
+                                                         #{w 1764}#
+                                                         #{mod 1767}#)
+                                                       '(#(syntax-object
+                                                           if
+                                                           ((top)
+                                                            #(ribcage
+                                                              #(name)
+                                                              #((top))
+                                                              #("i1865"))
+                                                            #(ribcage () () ())
+                                                            #(ribcage () () ())
+                                                            #(ribcage
+                                                              #(ftype
+                                                                fval
+                                                                fe
+                                                                fw
+                                                                fs
+                                                                fmod)
+                                                              #((top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top))
+                                                              #("i1805"
+                                                                "i1806"
+                                                                "i1807"
+                                                                "i1808"
+                                                                "i1809"
+                                                                "i1810"))
+                                                            #(ribcage () () ())
+                                                            #(ribcage
+                                                              #(first)
+                                                              #((top))
+                                                              #("i1797"))
+                                                            #(ribcage () () ())
+                                                            #(ribcage () () ())
+                                                            #(ribcage () () ())
+                                                            #(ribcage
+                                                              #(e
+                                                                r
+                                                                w
+                                                                s
+                                                                rib
+                                                                mod
+                                                                for-car?)
+                                                              #((top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top))
+                                                              #("i1769"
+                                                                "i1770"
+                                                                "i1771"
+                                                                "i1772"
+                                                                "i1773"
+                                                                "i1774"
+                                                                "i1775"))
+                                                            #(ribcage
+                                                              (lambda-var-list
+                                                                gen-var
+                                                                strip
+                                                                chi-lambda-case
+                                                                lambda*-formals
+                                                                
chi-simple-lambda
+                                                                lambda-formals
+                                                                ellipsis?
+                                                                chi-void
+                                                                
eval-local-transformer
+                                                                
chi-local-syntax
+                                                                chi-body
+                                                                chi-macro
+                                                                chi-call
+                                                                chi-expr
+                                                                chi
+                                                                syntax-type
+                                                                chi-when-list
+                                                                
chi-install-global
+                                                                
chi-top-sequence
+                                                                chi-sequence
+                                                                source-wrap
+                                                                wrap
+                                                                
bound-id-member?
+                                                                
distinct-bound-ids?
+                                                                
valid-bound-ids?
+                                                                bound-id=?
+                                                                free-id=?
+                                                                id-var-name
+                                                                same-marks?
+                                                                join-marks
+                                                                join-wraps
+                                                                smart-append
+                                                                
make-binding-wrap
+                                                                extend-ribcage!
+                                                                
make-empty-ribcage
+                                                                new-mark
+                                                                anti-mark
+                                                                the-anti-mark
+                                                                top-marked?
+                                                                top-wrap
+                                                                empty-wrap
+                                                                
set-ribcage-labels!
+                                                                
set-ribcage-marks!
+                                                                
set-ribcage-symnames!
+                                                                ribcage-labels
+                                                                ribcage-marks
+                                                                
ribcage-symnames
+                                                                ribcage?
+                                                                make-ribcage
+                                                                gen-labels
+                                                                gen-label
+                                                                make-rename
+                                                                rename-marks
+                                                                rename-new
+                                                                rename-old
+                                                                subst-rename?
+                                                                wrap-subst
+                                                                wrap-marks
+                                                                make-wrap
+                                                                
id-sym-name&marks
+                                                                id-sym-name
+                                                                id?
+                                                                nonsymbol-id?
+                                                                global-extend
+                                                                lookup
+                                                                macros-only-env
+                                                                extend-var-env
+                                                                extend-env
+                                                                null-env
+                                                                binding-value
+                                                                binding-type
+                                                                make-binding
+                                                                arg-check
+                                                                
source-annotation
+                                                                no-source
+                                                                
set-syntax-object-module!
+                                                                
set-syntax-object-wrap!
+                                                                
set-syntax-object-expression!
+                                                                
syntax-object-module
+                                                                
syntax-object-wrap
+                                                                
syntax-object-expression
+                                                                syntax-object?
+                                                                
make-syntax-object
+                                                                
build-lexical-var
+                                                                build-letrec
+                                                                build-named-let
+                                                                build-let
+                                                                build-sequence
+                                                                build-data
+                                                                build-primref
+                                                                build-primcall
+                                                                
build-lambda-case
+                                                                
build-case-lambda
+                                                                
build-simple-lambda
+                                                                
build-global-definition
+                                                                
build-global-assignment
+                                                                
build-global-reference
+                                                                
analyze-variable
+                                                                
build-lexical-assignment
+                                                                
build-lexical-reference
+                                                                build-dynlet
+                                                                
build-conditional
+                                                                build-call
+                                                                build-void
+                                                                
maybe-name-value!
+                                                                decorate-source
+                                                                
get-global-definition-hook
+                                                                
put-global-definition-hook
+                                                                gensym-hook
+                                                                local-eval-hook
+                                                                
top-level-eval-hook
+                                                                fx<
+                                                                fx=
+                                                                fx-
+                                                                fx+
+                                                                
set-lambda-meta!
+                                                                lambda-meta
+                                                                lambda?
+                                                                make-dynlet
+                                                                make-letrec
+                                                                make-let
+                                                                
make-lambda-case
+                                                                make-lambda
+                                                                make-seq
+                                                                make-primcall
+                                                                make-call
+                                                                
make-conditional
+                                                                
make-toplevel-define
+                                                                
make-toplevel-set
+                                                                
make-toplevel-ref
+                                                                make-module-set
+                                                                make-module-ref
+                                                                
make-lexical-set
+                                                                
make-lexical-ref
+                                                                
make-primitive-ref
+                                                                make-const
+                                                                make-void)
+                                                              ((top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top))
+                                                              ("i452"
+                                                               "i450"
+                                                               "i448"
+                                                               "i446"
+                                                               "i444"
+                                                               "i442"
+                                                               "i440"
+                                                               "i438"
+                                                               "i436"
+                                                               "i434"
+                                                               "i432"
+                                                               "i430"
+                                                               "i428"
+                                                               "i426"
+                                                               "i424"
+                                                               "i422"
+                                                               "i420"
+                                                               "i418"
+                                                               "i416"
+                                                               "i414"
+                                                               "i412"
+                                                               "i410"
+                                                               "i408"
+                                                               "i406"
+                                                               "i404"
+                                                               "i402"
+                                                               "i400"
+                                                               "i398"
+                                                               "i396"
+                                                               "i394"
+                                                               "i392"
+                                                               "i390"
+                                                               "i388"
+                                                               "i386"
+                                                               "i384"
+                                                               "i383"
+                                                               "i382"
+                                                               "i380"
+                                                               "i379"
+                                                               "i378"
+                                                               "i377"
+                                                               "i376"
+                                                               "i374"
+                                                               "i372"
+                                                               "i370"
+                                                               "i368"
+                                                               "i366"
+                                                               "i364"
+                                                               "i362"
+                                                               "i360"
+                                                               "i357"
+                                                               "i355"
+                                                               "i354"
+                                                               "i353"
+                                                               "i352"
+                                                               "i351"
+                                                               "i350"
+                                                               "i349"
+                                                               "i348"
+                                                               "i347"
+                                                               "i345"
+                                                               "i344"
+                                                               "i342"
+                                                               "i340"
+                                                               "i338"
+                                                               "i336"
+                                                               "i334"
+                                                               "i332"
+                                                               "i330"
+                                                               "i329"
+                                                               "i328"
+                                                               "i327"
+                                                               "i326"
+                                                               "i325"
+                                                               "i323"
+                                                               "i322"
+                                                               "i320"
+                                                               "i318"
+                                                               "i316"
+                                                               "i314"
+                                                               "i312"
+                                                               "i310"
+                                                               "i308"
+                                                               "i306"
+                                                               "i304"
+                                                               "i302"
+                                                               "i300"
+                                                               "i298"
+                                                               "i296"
+                                                               "i294"
+                                                               "i292"
+                                                               "i290"
+                                                               "i288"
+                                                               "i286"
+                                                               "i284"
+                                                               "i282"
+                                                               "i280"
+                                                               "i278"
+                                                               "i276"
+                                                               "i274"
+                                                               "i272"
+                                                               "i270"
+                                                               "i268"
+                                                               "i266"
+                                                               "i264"
+                                                               "i262"
+                                                               "i260"
+                                                               "i258"
+                                                               "i256"
+                                                               "i255"
+                                                               "i253"
+                                                               "i251"
+                                                               "i250"
+                                                               "i249"
+                                                               "i248"
+                                                               "i247"
+                                                               "i245"
+                                                               "i243"
+                                                               "i241"
+                                                               "i238"
+                                                               "i236"
+                                                               "i234"
+                                                               "i232"
+                                                               "i230"
+                                                               "i228"
+                                                               "i226"
+                                                               "i224"
+                                                               "i222"
+                                                               "i220"
+                                                               "i218"
+                                                               "i216"
+                                                               "i214"
+                                                               "i212"
+                                                               "i210"
+                                                               "i208"
+                                                               "i206"
+                                                               "i204"
+                                                               "i202"))
+                                                            #(ribcage
+                                                              (define-structure
+                                                                
define-expansion-accessors
+                                                                
define-expansion-constructors)
+                                                              ((top)
+                                                               (top)
+                                                               (top))
+                                                              ("i40"
+                                                               "i39"
+                                                               "i38")))
+                                                           (hygiene guile))
+                                                         #(syntax-object
+                                                           #f
+                                                           ((top)
+                                                            #(ribcage
+                                                              #(name)
+                                                              #((top))
+                                                              #("i1865"))
+                                                            #(ribcage () () ())
+                                                            #(ribcage () () ())
+                                                            #(ribcage
+                                                              #(ftype
+                                                                fval
+                                                                fe
+                                                                fw
+                                                                fs
+                                                                fmod)
+                                                              #((top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top))
+                                                              #("i1805"
+                                                                "i1806"
+                                                                "i1807"
+                                                                "i1808"
+                                                                "i1809"
+                                                                "i1810"))
+                                                            #(ribcage () () ())
+                                                            #(ribcage
+                                                              #(first)
+                                                              #((top))
+                                                              #("i1797"))
+                                                            #(ribcage () () ())
+                                                            #(ribcage () () ())
+                                                            #(ribcage () () ())
+                                                            #(ribcage
+                                                              #(e
+                                                                r
+                                                                w
+                                                                s
+                                                                rib
+                                                                mod
+                                                                for-car?)
+                                                              #((top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top))
+                                                              #("i1769"
+                                                                "i1770"
+                                                                "i1771"
+                                                                "i1772"
+                                                                "i1773"
+                                                                "i1774"
+                                                                "i1775"))
+                                                            #(ribcage
+                                                              (lambda-var-list
+                                                                gen-var
+                                                                strip
+                                                                chi-lambda-case
+                                                                lambda*-formals
+                                                                
chi-simple-lambda
+                                                                lambda-formals
+                                                                ellipsis?
+                                                                chi-void
+                                                                
eval-local-transformer
+                                                                
chi-local-syntax
+                                                                chi-body
+                                                                chi-macro
+                                                                chi-call
+                                                                chi-expr
+                                                                chi
+                                                                syntax-type
+                                                                chi-when-list
+                                                                
chi-install-global
+                                                                
chi-top-sequence
+                                                                chi-sequence
+                                                                source-wrap
+                                                                wrap
+                                                                
bound-id-member?
+                                                                
distinct-bound-ids?
+                                                                
valid-bound-ids?
+                                                                bound-id=?
+                                                                free-id=?
+                                                                id-var-name
+                                                                same-marks?
+                                                                join-marks
+                                                                join-wraps
+                                                                smart-append
+                                                                
make-binding-wrap
+                                                                extend-ribcage!
+                                                                
make-empty-ribcage
+                                                                new-mark
+                                                                anti-mark
+                                                                the-anti-mark
+                                                                top-marked?
+                                                                top-wrap
+                                                                empty-wrap
+                                                                
set-ribcage-labels!
+                                                                
set-ribcage-marks!
+                                                                
set-ribcage-symnames!
+                                                                ribcage-labels
+                                                                ribcage-marks
+                                                                
ribcage-symnames
+                                                                ribcage?
+                                                                make-ribcage
+                                                                gen-labels
+                                                                gen-label
+                                                                make-rename
+                                                                rename-marks
+                                                                rename-new
+                                                                rename-old
+                                                                subst-rename?
+                                                                wrap-subst
+                                                                wrap-marks
+                                                                make-wrap
+                                                                
id-sym-name&marks
+                                                                id-sym-name
+                                                                id?
+                                                                nonsymbol-id?
+                                                                global-extend
+                                                                lookup
+                                                                macros-only-env
+                                                                extend-var-env
+                                                                extend-env
+                                                                null-env
+                                                                binding-value
+                                                                binding-type
+                                                                make-binding
+                                                                arg-check
+                                                                
source-annotation
+                                                                no-source
+                                                                
set-syntax-object-module!
+                                                                
set-syntax-object-wrap!
+                                                                
set-syntax-object-expression!
+                                                                
syntax-object-module
+                                                                
syntax-object-wrap
+                                                                
syntax-object-expression
+                                                                syntax-object?
+                                                                
make-syntax-object
+                                                                
build-lexical-var
+                                                                build-letrec
+                                                                build-named-let
+                                                                build-let
+                                                                build-sequence
+                                                                build-data
+                                                                build-primref
+                                                                build-primcall
+                                                                
build-lambda-case
+                                                                
build-case-lambda
+                                                                
build-simple-lambda
+                                                                
build-global-definition
+                                                                
build-global-assignment
+                                                                
build-global-reference
+                                                                
analyze-variable
+                                                                
build-lexical-assignment
+                                                                
build-lexical-reference
+                                                                build-dynlet
+                                                                
build-conditional
+                                                                build-call
+                                                                build-void
+                                                                
maybe-name-value!
+                                                                decorate-source
+                                                                
get-global-definition-hook
+                                                                
put-global-definition-hook
+                                                                gensym-hook
+                                                                local-eval-hook
+                                                                
top-level-eval-hook
+                                                                fx<
+                                                                fx=
+                                                                fx-
+                                                                fx+
+                                                                
set-lambda-meta!
+                                                                lambda-meta
+                                                                lambda?
+                                                                make-dynlet
+                                                                make-letrec
+                                                                make-let
+                                                                
make-lambda-case
+                                                                make-lambda
+                                                                make-seq
+                                                                make-primcall
+                                                                make-call
+                                                                
make-conditional
+                                                                
make-toplevel-define
+                                                                
make-toplevel-set
+                                                                
make-toplevel-ref
+                                                                make-module-set
+                                                                make-module-ref
+                                                                
make-lexical-set
+                                                                
make-lexical-ref
+                                                                
make-primitive-ref
+                                                                make-const
+                                                                make-void)
+                                                              ((top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top))
+                                                              ("i452"
+                                                               "i450"
+                                                               "i448"
+                                                               "i446"
+                                                               "i444"
+                                                               "i442"
+                                                               "i440"
+                                                               "i438"
+                                                               "i436"
+                                                               "i434"
+                                                               "i432"
+                                                               "i430"
+                                                               "i428"
+                                                               "i426"
+                                                               "i424"
+                                                               "i422"
+                                                               "i420"
+                                                               "i418"
+                                                               "i416"
+                                                               "i414"
+                                                               "i412"
+                                                               "i410"
+                                                               "i408"
+                                                               "i406"
+                                                               "i404"
+                                                               "i402"
+                                                               "i400"
+                                                               "i398"
+                                                               "i396"
+                                                               "i394"
+                                                               "i392"
+                                                               "i390"
+                                                               "i388"
+                                                               "i386"
+                                                               "i384"
+                                                               "i383"
+                                                               "i382"
+                                                               "i380"
+                                                               "i379"
+                                                               "i378"
+                                                               "i377"
+                                                               "i376"
+                                                               "i374"
+                                                               "i372"
+                                                               "i370"
+                                                               "i368"
+                                                               "i366"
+                                                               "i364"
+                                                               "i362"
+                                                               "i360"
+                                                               "i357"
+                                                               "i355"
+                                                               "i354"
+                                                               "i353"
+                                                               "i352"
+                                                               "i351"
+                                                               "i350"
+                                                               "i349"
+                                                               "i348"
+                                                               "i347"
+                                                               "i345"
+                                                               "i344"
+                                                               "i342"
+                                                               "i340"
+                                                               "i338"
+                                                               "i336"
+                                                               "i334"
+                                                               "i332"
+                                                               "i330"
+                                                               "i329"
+                                                               "i328"
+                                                               "i327"
+                                                               "i326"
+                                                               "i325"
+                                                               "i323"
+                                                               "i322"
+                                                               "i320"
+                                                               "i318"
+                                                               "i316"
+                                                               "i314"
+                                                               "i312"
+                                                               "i310"
+                                                               "i308"
+                                                               "i306"
+                                                               "i304"
+                                                               "i302"
+                                                               "i300"
+                                                               "i298"
+                                                               "i296"
+                                                               "i294"
+                                                               "i292"
+                                                               "i290"
+                                                               "i288"
+                                                               "i286"
+                                                               "i284"
+                                                               "i282"
+                                                               "i280"
+                                                               "i278"
+                                                               "i276"
+                                                               "i274"
+                                                               "i272"
+                                                               "i270"
+                                                               "i268"
+                                                               "i266"
+                                                               "i264"
+                                                               "i262"
+                                                               "i260"
+                                                               "i258"
+                                                               "i256"
+                                                               "i255"
+                                                               "i253"
+                                                               "i251"
+                                                               "i250"
+                                                               "i249"
+                                                               "i248"
+                                                               "i247"
+                                                               "i245"
+                                                               "i243"
+                                                               "i241"
+                                                               "i238"
+                                                               "i236"
+                                                               "i234"
+                                                               "i232"
+                                                               "i230"
+                                                               "i228"
+                                                               "i226"
+                                                               "i224"
+                                                               "i222"
+                                                               "i220"
+                                                               "i218"
+                                                               "i216"
+                                                               "i214"
+                                                               "i212"
+                                                               "i210"
+                                                               "i208"
+                                                               "i206"
+                                                               "i204"
+                                                               "i202"))
+                                                            #(ribcage
+                                                              (define-structure
+                                                                
define-expansion-accessors
+                                                                
define-expansion-constructors)
+                                                              ((top)
+                                                               (top)
+                                                               (top))
+                                                              ("i40"
+                                                               "i39"
+                                                               "i38")))
+                                                           (hygiene guile))
+                                                         #(syntax-object
+                                                           #f
+                                                           ((top)
+                                                            #(ribcage
+                                                              #(name)
+                                                              #((top))
+                                                              #("i1865"))
+                                                            #(ribcage () () ())
+                                                            #(ribcage () () ())
+                                                            #(ribcage
+                                                              #(ftype
+                                                                fval
+                                                                fe
+                                                                fw
+                                                                fs
+                                                                fmod)
+                                                              #((top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top))
+                                                              #("i1805"
+                                                                "i1806"
+                                                                "i1807"
+                                                                "i1808"
+                                                                "i1809"
+                                                                "i1810"))
+                                                            #(ribcage () () ())
+                                                            #(ribcage
+                                                              #(first)
+                                                              #((top))
+                                                              #("i1797"))
+                                                            #(ribcage () () ())
+                                                            #(ribcage () () ())
+                                                            #(ribcage () () ())
+                                                            #(ribcage
+                                                              #(e
+                                                                r
+                                                                w
+                                                                s
+                                                                rib
+                                                                mod
+                                                                for-car?)
+                                                              #((top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top))
+                                                              #("i1769"
+                                                                "i1770"
+                                                                "i1771"
+                                                                "i1772"
+                                                                "i1773"
+                                                                "i1774"
+                                                                "i1775"))
+                                                            #(ribcage
+                                                              (lambda-var-list
+                                                                gen-var
+                                                                strip
+                                                                chi-lambda-case
+                                                                lambda*-formals
+                                                                
chi-simple-lambda
+                                                                lambda-formals
+                                                                ellipsis?
+                                                                chi-void
+                                                                
eval-local-transformer
+                                                                
chi-local-syntax
+                                                                chi-body
+                                                                chi-macro
+                                                                chi-call
+                                                                chi-expr
+                                                                chi
+                                                                syntax-type
+                                                                chi-when-list
+                                                                
chi-install-global
+                                                                
chi-top-sequence
+                                                                chi-sequence
+                                                                source-wrap
+                                                                wrap
+                                                                
bound-id-member?
+                                                                
distinct-bound-ids?
+                                                                
valid-bound-ids?
+                                                                bound-id=?
+                                                                free-id=?
+                                                                id-var-name
+                                                                same-marks?
+                                                                join-marks
+                                                                join-wraps
+                                                                smart-append
+                                                                
make-binding-wrap
+                                                                extend-ribcage!
+                                                                
make-empty-ribcage
+                                                                new-mark
+                                                                anti-mark
+                                                                the-anti-mark
+                                                                top-marked?
+                                                                top-wrap
+                                                                empty-wrap
+                                                                
set-ribcage-labels!
+                                                                
set-ribcage-marks!
+                                                                
set-ribcage-symnames!
+                                                                ribcage-labels
+                                                                ribcage-marks
+                                                                
ribcage-symnames
+                                                                ribcage?
+                                                                make-ribcage
+                                                                gen-labels
+                                                                gen-label
+                                                                make-rename
+                                                                rename-marks
+                                                                rename-new
+                                                                rename-old
+                                                                subst-rename?
+                                                                wrap-subst
+                                                                wrap-marks
+                                                                make-wrap
+                                                                
id-sym-name&marks
+                                                                id-sym-name
+                                                                id?
+                                                                nonsymbol-id?
+                                                                global-extend
+                                                                lookup
+                                                                macros-only-env
+                                                                extend-var-env
+                                                                extend-env
+                                                                null-env
+                                                                binding-value
+                                                                binding-type
+                                                                make-binding
+                                                                arg-check
+                                                                
source-annotation
+                                                                no-source
+                                                                
set-syntax-object-module!
+                                                                
set-syntax-object-wrap!
+                                                                
set-syntax-object-expression!
+                                                                
syntax-object-module
+                                                                
syntax-object-wrap
+                                                                
syntax-object-expression
+                                                                syntax-object?
+                                                                
make-syntax-object
+                                                                
build-lexical-var
+                                                                build-letrec
+                                                                build-named-let
+                                                                build-let
+                                                                build-sequence
+                                                                build-data
+                                                                build-primref
+                                                                build-primcall
+                                                                
build-lambda-case
+                                                                
build-case-lambda
+                                                                
build-simple-lambda
+                                                                
build-global-definition
+                                                                
build-global-assignment
+                                                                
build-global-reference
+                                                                
analyze-variable
+                                                                
build-lexical-assignment
+                                                                
build-lexical-reference
+                                                                build-dynlet
+                                                                
build-conditional
+                                                                build-call
+                                                                build-void
+                                                                
maybe-name-value!
+                                                                decorate-source
+                                                                
get-global-definition-hook
+                                                                
put-global-definition-hook
+                                                                gensym-hook
+                                                                local-eval-hook
+                                                                
top-level-eval-hook
+                                                                fx<
+                                                                fx=
+                                                                fx-
+                                                                fx+
+                                                                
set-lambda-meta!
+                                                                lambda-meta
+                                                                lambda?
+                                                                make-dynlet
+                                                                make-letrec
+                                                                make-let
+                                                                
make-lambda-case
+                                                                make-lambda
+                                                                make-seq
+                                                                make-primcall
+                                                                make-call
+                                                                
make-conditional
+                                                                
make-toplevel-define
+                                                                
make-toplevel-set
+                                                                
make-toplevel-ref
+                                                                make-module-set
+                                                                make-module-ref
+                                                                
make-lexical-set
+                                                                
make-lexical-ref
+                                                                
make-primitive-ref
+                                                                make-const
+                                                                make-void)
+                                                              ((top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top)
+                                                               (top))
+                                                              ("i452"
+                                                               "i450"
+                                                               "i448"
+                                                               "i446"
+                                                               "i444"
+                                                               "i442"
+                                                               "i440"
+                                                               "i438"
+                                                               "i436"
+                                                               "i434"
+                                                               "i432"
+                                                               "i430"
+                                                               "i428"
+                                                               "i426"
+                                                               "i424"
+                                                               "i422"
+                                                               "i420"
+                                                               "i418"
+                                                               "i416"
+                                                               "i414"
+                                                               "i412"
+                                                               "i410"
+                                                               "i408"
+                                                               "i406"
+                                                               "i404"
+                                                               "i402"
+                                                               "i400"
+                                                               "i398"
+                                                               "i396"
+                                                               "i394"
+                                                               "i392"
+                                                               "i390"
+                                                               "i388"
+                                                               "i386"
+                                                               "i384"
+                                                               "i383"
+                                                               "i382"
+                                                               "i380"
+                                                               "i379"
+                                                               "i378"
+                                                               "i377"
+                                                               "i376"
+                                                               "i374"
+                                                               "i372"
+                                                               "i370"
+                                                               "i368"
+                                                               "i366"
+                                                               "i364"
+                                                               "i362"
+                                                               "i360"
+                                                               "i357"
+                                                               "i355"
+                                                               "i354"
+                                                               "i353"
+                                                               "i352"
+                                                               "i351"
+                                                               "i350"
+                                                               "i349"
+                                                               "i348"
+                                                               "i347"
+                                                               "i345"
+                                                               "i344"
+                                                               "i342"
+                                                               "i340"
+                                                               "i338"
+                                                               "i336"
+                                                               "i334"
+                                                               "i332"
+                                                               "i330"
+                                                               "i329"
+                                                               "i328"
+                                                               "i327"
+                                                               "i326"
+                                                               "i325"
+                                                               "i323"
+                                                               "i322"
+                                                               "i320"
+                                                               "i318"
+                                                               "i316"
+                                                               "i314"
+                                                               "i312"
+                                                               "i310"
+                                                               "i308"
+                                                               "i306"
+                                                               "i304"
+                                                               "i302"
+                                                               "i300"
+                                                               "i298"
+                                                               "i296"
+                                                               "i294"
+                                                               "i292"
+                                                               "i290"
+                                                               "i288"
+                                                               "i286"
+                                                               "i284"
+                                                               "i282"
+                                                               "i280"
+                                                               "i278"
+                                                               "i276"
+                                                               "i274"
+                                                               "i272"
+                                                               "i270"
+                                                               "i268"
+                                                               "i266"
+                                                               "i264"
+                                                               "i262"
+                                                               "i260"
+                                                               "i258"
+                                                               "i256"
+                                                               "i255"
+                                                               "i253"
+                                                               "i251"
+                                                               "i250"
+                                                               "i249"
+                                                               "i248"
+                                                               "i247"
+                                                               "i245"
+                                                               "i243"
+                                                               "i241"
+                                                               "i238"
+                                                               "i236"
+                                                               "i234"
+                                                               "i232"
+                                                               "i230"
+                                                               "i228"
+                                                               "i226"
+                                                               "i224"
+                                                               "i222"
+                                                               "i220"
+                                                               "i218"
+                                                               "i216"
+                                                               "i214"
+                                                               "i212"
+                                                               "i210"
+                                                               "i208"
+                                                               "i206"
+                                                               "i204"
+                                                               "i202"))
+                                                            #(ribcage
+                                                              (define-structure
+                                                                
define-expansion-accessors
+                                                                
define-expansion-constructors)
+                                                              ((top)
+                                                               (top)
+                                                               (top))
+                                                              ("i40"
+                                                               "i39"
+                                                               "i38")))
+                                                           (hygiene guile)))
+                                                       '(())
+                                                       #{s 1765}#
+                                                       #{mod 1767}#))
+                                                   #{tmp 1862}#)
+                                                 (syntax-violation
+                                                   #f
+                                                   "source expression failed 
to match any pattern"
+                                                   #{tmp 1831}#))))))))
+                                   (if (memv #{ftype 1799}# '(define-syntax))
+                                     (let ((#{tmp 1869}# #{e 1762}#))
+                                       (let ((#{tmp 1870}#
+                                               ($sc-dispatch
+                                                 #{tmp 1869}#
+                                                 '(_ any any))))
+                                         (if (if #{tmp 1870}#
+                                               (@apply
+                                                 (lambda (#{name 1873}#
+                                                          #{val 1874}#)
+                                                   (#{id? 343}# #{name 1873}#))
+                                                 #{tmp 1870}#)
+                                               #f)
+                                           (@apply
+                                             (lambda (#{name 1877}#
+                                                      #{val 1878}#)
+                                               (values
+                                                 'define-syntax-form
+                                                 #{name 1877}#
+                                                 #{val 1878}#
+                                                 #{w 1764}#
+                                                 #{s 1765}#
+                                                 #{mod 1767}#))
+                                             #{tmp 1870}#)
+                                           (syntax-violation
+                                             #f
+                                             "source expression failed to 
match any pattern"
+                                             #{tmp 1869}#))))
+                                     (values
+                                       'call
+                                       #f
+                                       #{e 1762}#
+                                       #{w 1764}#
+                                       #{s 1765}#
+                                       #{mod 1767}#))))))))))))))
+           (if (#{syntax-object? 309}# #{e 1762}#)
+             (#{syntax-type 421}#
+               (#{syntax-object-expression 311}# #{e 1762}#)
+               #{r 1763}#
+               (#{join-wraps 391}#
+                 #{w 1764}#
+                 (#{syntax-object-wrap 313}# #{e 1762}#))
+               (let ((#{t 1884}#
+                       (#{source-annotation 324}# #{e 1762}#)))
+                 (if #{t 1884}# #{t 1884}# #{s 1765}#))
+               #{rib 1766}#
+               (let ((#{t 1888}#
+                       (#{syntax-object-module 315}# #{e 1762}#)))
+                 (if #{t 1888}# #{t 1888}# #{mod 1767}#))
+               #{for-car? 1768}#)
+             (if (self-evaluating? #{e 1762}#)
+               (values
+                 'constant
+                 #f
+                 #{e 1762}#
+                 #{w 1764}#
+                 #{s 1765}#
+                 #{mod 1767}#)
+               (values
+                 'other
+                 #f
+                 #{e 1762}#
+                 #{w 1764}#
+                 #{s 1765}#
+                 #{mod 1767}#)))))))
+   (#{chi 423}#
+     (lambda (#{e 1893}# #{r 1894}# #{w 1895}# #{mod 1896}#)
+       (call-with-values
+         (lambda ()
+           (#{syntax-type 421}#
+             #{e 1893}#
+             #{r 1894}#
+             #{w 1895}#
+             (#{source-annotation 324}# #{e 1893}#)
+             #f
+             #{mod 1896}#
+             #f))
+         (lambda (#{type 1901}#
+                  #{value 1902}#
+                  #{e 1903}#
+                  #{w 1904}#
+                  #{s 1905}#
+                  #{mod 1906}#)
+           (#{chi-expr 425}#
+             #{type 1901}#
+             #{value 1902}#
+             #{e 1903}#
+             #{r 1894}#
+             #{w 1904}#
+             #{s 1905}#
+             #{mod 1906}#)))))
+   (#{chi-expr 425}#
+     (lambda (#{type 1913}#
+              #{value 1914}#
+              #{e 1915}#
+              #{r 1916}#
+              #{w 1917}#
+              #{s 1918}#
+              #{mod 1919}#)
+       (if (memv #{type 1913}# '(lexical))
+         (#{build-lexical-reference 273}#
+           'value
+           #{s 1918}#
+           #{e 1915}#
+           #{value 1914}#)
+         (if (memv #{type 1913}# '(core core-form))
+           (#{value 1914}#
+             #{e 1915}#
+             #{r 1916}#
+             #{w 1917}#
+             #{s 1918}#
+             #{mod 1919}#)
+           (if (memv #{type 1913}# '(module-ref))
+             (call-with-values
+               (lambda ()
+                 (#{value 1914}# #{e 1915}# #{r 1916}# #{w 1917}#))
+               (lambda (#{e 1930}#
+                        #{r 1931}#
+                        #{w 1932}#
+                        #{s 1933}#
+                        #{mod 1934}#)
+                 (#{chi 423}#
+                   #{e 1930}#
+                   #{r 1931}#
+                   #{w 1932}#
+                   #{mod 1934}#)))
+             (if (memv #{type 1913}# '(lexical-call))
+               (#{chi-call 427}#
+                 (let ((#{id 1942}# (car #{e 1915}#)))
+                   (#{build-lexical-reference 273}#
+                     'fun
+                     (#{source-annotation 324}# #{id 1942}#)
+                     (if (#{syntax-object? 309}# #{id 1942}#)
+                       (syntax->datum #{id 1942}#)
+                       #{id 1942}#)
+                     #{value 1914}#))
+                 #{e 1915}#
+                 #{r 1916}#
+                 #{w 1917}#
+                 #{s 1918}#
+                 #{mod 1919}#)
+               (if (memv #{type 1913}# '(global-call))
+                 (#{chi-call 427}#
+                   (#{build-global-reference 279}#
+                     (#{source-annotation 324}# (car #{e 1915}#))
+                     (if (#{syntax-object? 309}# #{value 1914}#)
+                       (#{syntax-object-expression 311}# #{value 1914}#)
+                       #{value 1914}#)
+                     (if (#{syntax-object? 309}# #{value 1914}#)
+                       (#{syntax-object-module 315}# #{value 1914}#)
+                       #{mod 1919}#))
+                   #{e 1915}#
+                   #{r 1916}#
+                   #{w 1917}#
+                   #{s 1918}#
+                   #{mod 1919}#)
+                 (if (memv #{type 1913}# '(constant))
+                   (#{build-data 295}#
+                     #{s 1918}#
+                     (#{strip 449}#
+                       (#{source-wrap 411}#
+                         #{e 1915}#
+                         #{w 1917}#
+                         #{s 1918}#
+                         #{mod 1919}#)
+                       '(())))
+                   (if (memv #{type 1913}# '(global))
+                     (#{build-global-reference 279}#
+                       #{s 1918}#
+                       #{value 1914}#
+                       #{mod 1919}#)
+                     (if (memv #{type 1913}# '(call))
+                       (#{chi-call 427}#
+                         (#{chi 423}#
+                           (car #{e 1915}#)
+                           #{r 1916}#
+                           #{w 1917}#
+                           #{mod 1919}#)
+                         #{e 1915}#
+                         #{r 1916}#
+                         #{w 1917}#
+                         #{s 1918}#
+                         #{mod 1919}#)
+                       (if (memv #{type 1913}# '(begin-form))
+                         (let ((#{tmp 1949}# #{e 1915}#))
+                           (let ((#{tmp 1950}#
+                                   ($sc-dispatch
+                                     #{tmp 1949}#
+                                     '(_ any . each-any))))
+                             (if #{tmp 1950}#
+                               (@apply
+                                 (lambda (#{e1 1953}# #{e2 1954}#)
+                                   (#{chi-sequence 413}#
+                                     (cons #{e1 1953}# #{e2 1954}#)
+                                     #{r 1916}#
+                                     #{w 1917}#
+                                     #{s 1918}#
+                                     #{mod 1919}#))
+                                 #{tmp 1950}#)
+                               (syntax-violation
+                                 #f
+                                 "source expression failed to match any 
pattern"
+                                 #{tmp 1949}#))))
+                         (if (memv #{type 1913}# '(local-syntax-form))
+                           (#{chi-local-syntax 433}#
+                             #{value 1914}#
+                             #{e 1915}#
+                             #{r 1916}#
+                             #{w 1917}#
+                             #{s 1918}#
+                             #{mod 1919}#
+                             #{chi-sequence 413}#)
+                           (if (memv #{type 1913}# '(eval-when-form))
+                             (let ((#{tmp 1958}# #{e 1915}#))
+                               (let ((#{tmp 1959}#
+                                       ($sc-dispatch
+                                         #{tmp 1958}#
+                                         '(_ each-any any . each-any))))
+                                 (if #{tmp 1959}#
+                                   (@apply
+                                     (lambda (#{x 1963}#
+                                              #{e1 1964}#
+                                              #{e2 1965}#)
+                                       (let ((#{when-list 1967}#
+                                               (#{chi-when-list 419}#
+                                                 #{e 1915}#
+                                                 #{x 1963}#
+                                                 #{w 1917}#)))
+                                         (if (memq 'eval #{when-list 1967}#)
+                                           (#{chi-sequence 413}#
+                                             (cons #{e1 1964}# #{e2 1965}#)
+                                             #{r 1916}#
+                                             #{w 1917}#
+                                             #{s 1918}#
+                                             #{mod 1919}#)
+                                           (#{chi-void 437}#))))
+                                     #{tmp 1959}#)
+                                   (syntax-violation
+                                     #f
+                                     "source expression failed to match any 
pattern"
+                                     #{tmp 1958}#))))
+                             (if (memv #{type 1913}#
+                                       '(define-form define-syntax-form))
+                               (syntax-violation
+                                 #f
+                                 "definition in expression context"
+                                 #{e 1915}#
+                                 (#{wrap 409}#
+                                   #{value 1914}#
+                                   #{w 1917}#
+                                   #{mod 1919}#))
+                               (if (memv #{type 1913}# '(syntax))
+                                 (syntax-violation
+                                   #f
+                                   "reference to pattern variable outside 
syntax form"
+                                   (#{source-wrap 411}#
+                                     #{e 1915}#
+                                     #{w 1917}#
+                                     #{s 1918}#
+                                     #{mod 1919}#))
+                                 (if (memv #{type 1913}# '(displaced-lexical))
+                                   (syntax-violation
+                                     #f
+                                     "reference to identifier outside its 
scope"
+                                     (#{source-wrap 411}#
+                                       #{e 1915}#
+                                       #{w 1917}#
+                                       #{s 1918}#
+                                       #{mod 1919}#))
+                                   (syntax-violation
+                                     #f
+                                     "unexpected syntax"
+                                     (#{source-wrap 411}#
+                                       #{e 1915}#
+                                       #{w 1917}#
+                                       #{s 1918}#
+                                       #{mod 1919}#))))))))))))))))))
+   (#{chi-call 427}#
+     (lambda (#{x 1974}#
+              #{e 1975}#
+              #{r 1976}#
+              #{w 1977}#
+              #{s 1978}#
+              #{mod 1979}#)
+       (let ((#{tmp 1986}# #{e 1975}#))
+         (let ((#{tmp 1987}#
+                 ($sc-dispatch #{tmp 1986}# '(any . each-any))))
+           (if #{tmp 1987}#
+             (@apply
+               (lambda (#{e0 1990}# #{e1 1991}#)
+                 (#{build-call 267}#
+                   #{s 1978}#
+                   #{x 1974}#
+                   (map (lambda (#{e 1992}#)
+                          (#{chi 423}#
+                            #{e 1992}#
+                            #{r 1976}#
+                            #{w 1977}#
+                            #{mod 1979}#))
+                        #{e1 1991}#)))
+               #{tmp 1987}#)
+             (syntax-violation
+               #f
+               "source expression failed to match any pattern"
+               #{tmp 1986}#))))))
+   (#{chi-macro 429}#
+     (lambda (#{p 1995}#
+              #{e 1996}#
+              #{r 1997}#
+              #{w 1998}#
+              #{s 1999}#
+              #{rib 2000}#
+              #{mod 2001}#)
+       (letrec*
+         ((#{rebuild-macro-output 2010}#
+            (lambda (#{x 2011}# #{m 2012}#)
+              (if (pair? #{x 2011}#)
+                (#{decorate-source 261}#
+                  (cons (#{rebuild-macro-output 2010}#
+                          (car #{x 2011}#)
+                          #{m 2012}#)
+                        (#{rebuild-macro-output 2010}#
+                          (cdr #{x 2011}#)
+                          #{m 2012}#))
+                  #{s 1999}#)
+                (if (#{syntax-object? 309}# #{x 2011}#)
+                  (let ((#{w 2020}#
+                          (#{syntax-object-wrap 313}# #{x 2011}#)))
+                    (let ((#{ms 2023}# (car #{w 2020}#))
+                          (#{s 2024}# (cdr #{w 2020}#)))
+                      (if (if (pair? #{ms 2023}#)
+                            (eq? (car #{ms 2023}#) #f)
+                            #f)
+                        (#{make-syntax-object 307}#
+                          (#{syntax-object-expression 311}# #{x 2011}#)
+                          (cons (cdr #{ms 2023}#)
+                                (if #{rib 2000}#
+                                  (cons #{rib 2000}# (cdr #{s 2024}#))
+                                  (cdr #{s 2024}#)))
+                          (#{syntax-object-module 315}# #{x 2011}#))
+                        (#{make-syntax-object 307}#
+                          (#{decorate-source 261}#
+                            (#{syntax-object-expression 311}# #{x 2011}#)
+                            #{s 2024}#)
+                          (cons (cons #{m 2012}# #{ms 2023}#)
+                                (if #{rib 2000}#
+                                  (cons #{rib 2000}# (cons 'shift #{s 2024}#))
+                                  (cons 'shift #{s 2024}#)))
+                          (#{syntax-object-module 315}# #{x 2011}#)))))
+                  (if (vector? #{x 2011}#)
+                    (let ((#{n 2036}# (vector-length #{x 2011}#)))
+                      (let ((#{v 2038}#
+                              (#{decorate-source 261}#
+                                (make-vector #{n 2036}#)
+                                #{x 2011}#)))
+                        (letrec*
+                          ((#{loop 2041}#
+                             (lambda (#{i 2042}#)
+                               (if (= #{i 2042}# #{n 2036}#)
+                                 (begin (if #f #f) #{v 2038}#)
+                                 (begin
+                                   (vector-set!
+                                     #{v 2038}#
+                                     #{i 2042}#
+                                     (#{rebuild-macro-output 2010}#
+                                       (vector-ref #{x 2011}# #{i 2042}#)
+                                       #{m 2012}#))
+                                   (#{loop 2041}# (#{1+}# #{i 2042}#)))))))
+                          (#{loop 2041}# 0))))
+                    (if (symbol? #{x 2011}#)
+                      (syntax-violation
+                        #f
+                        "encountered raw symbol in macro output"
+                        (#{source-wrap 411}#
+                          #{e 1996}#
+                          #{w 1998}#
+                          (cdr #{w 1998}#)
+                          #{mod 2001}#)
+                        #{x 2011}#)
+                      (#{decorate-source 261}# #{x 2011}# #{s 1999}#))))))))
+         (#{rebuild-macro-output 2010}#
+           (#{p 1995}#
+             (#{source-wrap 411}#
+               #{e 1996}#
+               (#{anti-mark 381}# #{w 1998}#)
+               #{s 1999}#
+               #{mod 2001}#))
+           (gensym "m")))))
+   (#{chi-body 431}#
+     (lambda (#{body 2052}#
+              #{outer-form 2053}#
+              #{r 2054}#
+              #{w 2055}#
+              #{mod 2056}#)
+       (let ((#{r 2064}#
+               (cons '("placeholder" placeholder) #{r 2054}#)))
+         (let ((#{ribcage 2066}#
+                 (#{make-ribcage 361}# '() '() '())))
+           (let ((#{w 2069}#
+                   (cons (car #{w 2055}#)
+                         (cons #{ribcage 2066}# (cdr #{w 2055}#)))))
+             (letrec*
+               ((#{parse 2081}#
+                  (lambda (#{body 2082}#
+                           #{ids 2083}#
+                           #{labels 2084}#
+                           #{var-ids 2085}#
+                           #{vars 2086}#
+                           #{vals 2087}#
+                           #{bindings 2088}#)
+                    (if (null? #{body 2082}#)
+                      (syntax-violation
+                        #f
+                        "no expressions in body"
+                        #{outer-form 2053}#)
+                      (let ((#{e 2093}# (cdr (car #{body 2082}#)))
+                            (#{er 2094}# (car (car #{body 2082}#))))
+                        (call-with-values
+                          (lambda ()
+                            (#{syntax-type 421}#
+                              #{e 2093}#
+                              #{er 2094}#
+                              '(())
+                              (#{source-annotation 324}# #{er 2094}#)
+                              #{ribcage 2066}#
+                              #{mod 2056}#
+                              #f))
+                          (lambda (#{type 2096}#
+                                   #{value 2097}#
+                                   #{e 2098}#
+                                   #{w 2099}#
+                                   #{s 2100}#
+                                   #{mod 2101}#)
+                            (if (memv #{type 2096}# '(define-form))
+                              (let ((#{id 2111}#
+                                      (#{wrap 409}#
+                                        #{value 2097}#
+                                        #{w 2099}#
+                                        #{mod 2101}#))
+                                    (#{label 2112}# (#{gen-label 356}#)))
+                                (let ((#{var 2114}#
+                                        (#{gen-var 451}# #{id 2111}#)))
+                                  (begin
+                                    (#{extend-ribcage! 385}#
+                                      #{ribcage 2066}#
+                                      #{id 2111}#
+                                      #{label 2112}#)
+                                    (#{parse 2081}#
+                                      (cdr #{body 2082}#)
+                                      (cons #{id 2111}# #{ids 2083}#)
+                                      (cons #{label 2112}# #{labels 2084}#)
+                                      (cons #{id 2111}# #{var-ids 2085}#)
+                                      (cons #{var 2114}# #{vars 2086}#)
+                                      (cons (cons #{er 2094}#
+                                                  (#{wrap 409}#
+                                                    #{e 2098}#
+                                                    #{w 2099}#
+                                                    #{mod 2101}#))
+                                            #{vals 2087}#)
+                                      (cons (cons 'lexical #{var 2114}#)
+                                            #{bindings 2088}#)))))
+                              (if (memv #{type 2096}# '(define-syntax-form))
+                                (let ((#{id 2119}#
+                                        (#{wrap 409}#
+                                          #{value 2097}#
+                                          #{w 2099}#
+                                          #{mod 2101}#))
+                                      (#{label 2120}# (#{gen-label 356}#)))
+                                  (begin
+                                    (#{extend-ribcage! 385}#
+                                      #{ribcage 2066}#
+                                      #{id 2119}#
+                                      #{label 2120}#)
+                                    (#{parse 2081}#
+                                      (cdr #{body 2082}#)
+                                      (cons #{id 2119}# #{ids 2083}#)
+                                      (cons #{label 2120}# #{labels 2084}#)
+                                      #{var-ids 2085}#
+                                      #{vars 2086}#
+                                      #{vals 2087}#
+                                      (cons (cons 'macro
+                                                  (cons #{er 2094}#
+                                                        (#{wrap 409}#
+                                                          #{e 2098}#
+                                                          #{w 2099}#
+                                                          #{mod 2101}#)))
+                                            #{bindings 2088}#))))
+                                (if (memv #{type 2096}# '(begin-form))
+                                  (let ((#{tmp 2123}# #{e 2098}#))
+                                    (let ((#{tmp 2124}#
+                                            ($sc-dispatch
+                                              #{tmp 2123}#
+                                              '(_ . each-any))))
+                                      (if #{tmp 2124}#
+                                        (@apply
+                                          (lambda (#{e1 2126}#)
+                                            (#{parse 2081}#
+                                              (letrec*
+                                                ((#{f 2129}#
+                                                   (lambda (#{forms 2130}#)
+                                                     (if (null? #{forms 2130}#)
+                                                       (cdr #{body 2082}#)
+                                                       (cons (cons #{er 2094}#
+                                                                   (#{wrap 
409}#
+                                                                     (car 
#{forms 2130}#)
+                                                                     #{w 2099}#
+                                                                     #{mod 
2101}#))
+                                                             (#{f 2129}#
+                                                               (cdr #{forms 
2130}#)))))))
+                                                (#{f 2129}# #{e1 2126}#))
+                                              #{ids 2083}#
+                                              #{labels 2084}#
+                                              #{var-ids 2085}#
+                                              #{vars 2086}#
+                                              #{vals 2087}#
+                                              #{bindings 2088}#))
+                                          #{tmp 2124}#)
+                                        (syntax-violation
+                                          #f
+                                          "source expression failed to match 
any pattern"
+                                          #{tmp 2123}#))))
+                                  (if (memv #{type 2096}# '(local-syntax-form))
+                                    (#{chi-local-syntax 433}#
+                                      #{value 2097}#
+                                      #{e 2098}#
+                                      #{er 2094}#
+                                      #{w 2099}#
+                                      #{s 2100}#
+                                      #{mod 2101}#
+                                      (lambda (#{forms 2133}#
+                                               #{er 2134}#
+                                               #{w 2135}#
+                                               #{s 2136}#
+                                               #{mod 2137}#)
+                                        (#{parse 2081}#
+                                          (letrec*
+                                            ((#{f 2145}#
+                                               (lambda (#{forms 2146}#)
+                                                 (if (null? #{forms 2146}#)
+                                                   (cdr #{body 2082}#)
+                                                   (cons (cons #{er 2134}#
+                                                               (#{wrap 409}#
+                                                                 (car #{forms 
2146}#)
+                                                                 #{w 2135}#
+                                                                 #{mod 2137}#))
+                                                         (#{f 2145}#
+                                                           (cdr #{forms 
2146}#)))))))
+                                            (#{f 2145}# #{forms 2133}#))
+                                          #{ids 2083}#
+                                          #{labels 2084}#
+                                          #{var-ids 2085}#
+                                          #{vars 2086}#
+                                          #{vals 2087}#
+                                          #{bindings 2088}#)))
+                                    (if (null? #{ids 2083}#)
+                                      (#{build-sequence 297}#
+                                        #f
+                                        (map (lambda (#{x 2149}#)
+                                               (#{chi 423}#
+                                                 (cdr #{x 2149}#)
+                                                 (car #{x 2149}#)
+                                                 '(())
+                                                 #{mod 2101}#))
+                                             (cons (cons #{er 2094}#
+                                                         (#{source-wrap 411}#
+                                                           #{e 2098}#
+                                                           #{w 2099}#
+                                                           #{s 2100}#
+                                                           #{mod 2101}#))
+                                                   (cdr #{body 2082}#))))
+                                      (begin
+                                        (if (not (#{valid-bound-ids? 403}#
+                                                   #{ids 2083}#))
+                                          (syntax-violation
+                                            #f
+                                            "invalid or duplicate identifier 
in definition"
+                                            #{outer-form 2053}#))
+                                        (letrec*
+                                          ((#{loop 2156}#
+                                             (lambda (#{bs 2157}#
+                                                      #{er-cache 2158}#
+                                                      #{r-cache 2159}#)
+                                               (if (not (null? #{bs 2157}#))
+                                                 (let ((#{b 2162}#
+                                                         (car #{bs 2157}#)))
+                                                   (if (eq? (car #{b 2162}#)
+                                                            'macro)
+                                                     (let ((#{er 2165}#
+                                                             (car (cdr #{b 
2162}#))))
+                                                       (let ((#{r-cache 2167}#
+                                                               (if (eq? #{er 
2165}#
+                                                                        
#{er-cache 2158}#)
+                                                                 #{r-cache 
2159}#
+                                                                 
(#{macros-only-env 335}#
+                                                                   #{er 
2165}#))))
+                                                         (begin
+                                                           (set-cdr!
+                                                             #{b 2162}#
+                                                             
(#{eval-local-transformer 435}#
+                                                               (#{chi 423}#
+                                                                 (cdr (cdr #{b 
2162}#))
+                                                                 #{r-cache 
2167}#
+                                                                 '(())
+                                                                 #{mod 2101}#)
+                                                               #{mod 2101}#))
+                                                           (#{loop 2156}#
+                                                             (cdr #{bs 2157}#)
+                                                             #{er 2165}#
+                                                             #{r-cache 
2167}#))))
+                                                     (#{loop 2156}#
+                                                       (cdr #{bs 2157}#)
+                                                       #{er-cache 2158}#
+                                                       #{r-cache 2159}#)))))))
+                                          (#{loop 2156}#
+                                            #{bindings 2088}#
+                                            #f
+                                            #f))
+                                        (set-cdr!
+                                          #{r 2064}#
+                                          (#{extend-env 331}#
+                                            #{labels 2084}#
+                                            #{bindings 2088}#
+                                            (cdr #{r 2064}#)))
+                                        (#{build-letrec 303}#
+                                          #f
+                                          #t
+                                          (reverse
+                                            (map syntax->datum
+                                                 #{var-ids 2085}#))
+                                          (reverse #{vars 2086}#)
+                                          (map (lambda (#{x 2170}#)
+                                                 (#{chi 423}#
+                                                   (cdr #{x 2170}#)
+                                                   (car #{x 2170}#)
+                                                   '(())
+                                                   #{mod 2101}#))
+                                               (reverse #{vals 2087}#))
+                                          (#{build-sequence 297}#
+                                            #f
+                                            (map (lambda (#{x 2174}#)
+                                                   (#{chi 423}#
+                                                     (cdr #{x 2174}#)
+                                                     (car #{x 2174}#)
+                                                     '(())
+                                                     #{mod 2101}#))
+                                                 (cons (cons #{er 2094}#
+                                                             (#{source-wrap 
411}#
+                                                               #{e 2098}#
+                                                               #{w 2099}#
+                                                               #{s 2100}#
+                                                               #{mod 2101}#))
+                                                       (cdr #{body 
2082}#))))))))))))))))))
+               (#{parse 2081}#
+                 (map (lambda (#{x 2089}#)
+                        (cons #{r 2064}#
+                              (#{wrap 409}#
+                                #{x 2089}#
+                                #{w 2069}#
+                                #{mod 2056}#)))
+                      #{body 2052}#)
+                 '()
+                 '()
+                 '()
+                 '()
+                 '()
+                 '())))))))
+   (#{chi-local-syntax 433}#
+     (lambda (#{rec? 2177}#
+              #{e 2178}#
+              #{r 2179}#
+              #{w 2180}#
+              #{s 2181}#
+              #{mod 2182}#
+              #{k 2183}#)
+       (let ((#{tmp 2191}# #{e 2178}#))
+         (let ((#{tmp 2192}#
+                 ($sc-dispatch
+                   #{tmp 2191}#
+                   '(_ #(each (any any)) any . each-any))))
+           (if #{tmp 2192}#
+             (@apply
+               (lambda (#{id 2197}#
+                        #{val 2198}#
+                        #{e1 2199}#
+                        #{e2 2200}#)
+                 (let ((#{ids 2202}# #{id 2197}#))
+                   (if (not (#{valid-bound-ids? 403}# #{ids 2202}#))
+                     (syntax-violation
+                       #f
+                       "duplicate bound keyword"
+                       #{e 2178}#)
+                     (let ((#{labels 2205}#
+                             (#{gen-labels 358}# #{ids 2202}#)))
+                       (let ((#{new-w 2207}#
+                               (#{make-binding-wrap 387}#
+                                 #{ids 2202}#
+                                 #{labels 2205}#
+                                 #{w 2180}#)))
+                         (#{k 2183}#
+                           (cons #{e1 2199}# #{e2 2200}#)
+                           (#{extend-env 331}#
+                             #{labels 2205}#
+                             (let ((#{w 2211}#
+                                     (if #{rec? 2177}#
+                                       #{new-w 2207}#
+                                       #{w 2180}#))
+                                   (#{trans-r 2212}#
+                                     (#{macros-only-env 335}# #{r 2179}#)))
+                               (map (lambda (#{x 2213}#)
+                                      (cons 'macro
+                                            (#{eval-local-transformer 435}#
+                                              (#{chi 423}#
+                                                #{x 2213}#
+                                                #{trans-r 2212}#
+                                                #{w 2211}#
+                                                #{mod 2182}#)
+                                              #{mod 2182}#)))
+                                    #{val 2198}#))
+                             #{r 2179}#)
+                           #{new-w 2207}#
+                           #{s 2181}#
+                           #{mod 2182}#))))))
+               #{tmp 2192}#)
+             (let ((#{_ 2218}# #{tmp 2191}#))
+               (syntax-violation
+                 #f
+                 "bad local syntax definition"
+                 (#{source-wrap 411}#
+                   #{e 2178}#
+                   #{w 2180}#
+                   #{s 2181}#
+                   #{mod 2182}#))))))))
+   (#{eval-local-transformer 435}#
+     (lambda (#{expanded 2219}# #{mod 2220}#)
+       (let ((#{p 2224}#
+               (#{local-eval-hook 254}#
+                 #{expanded 2219}#
+                 #{mod 2220}#)))
+         (if (procedure? #{p 2224}#)
+           #{p 2224}#
+           (syntax-violation
+             #f
+             "nonprocedure transformer"
+             #{p 2224}#)))))
+   (#{chi-void 437}#
+     (lambda () (#{build-void 265}# #f)))
+   (#{ellipsis? 439}#
+     (lambda (#{x 2226}#)
+       (if (#{nonsymbol-id? 341}# #{x 2226}#)
+         (#{free-id=? 399}#
+           #{x 2226}#
+           '#(syntax-object
+              ...
+              ((top)
+               #(ribcage () () ())
+               #(ribcage () () ())
+               #(ribcage #(x) #((top)) #("i2227"))
+               #(ribcage
+                 (lambda-var-list
+                   gen-var
+                   strip
+                   chi-lambda-case
+                   lambda*-formals
+                   chi-simple-lambda
+                   lambda-formals
+                   ellipsis?
+                   chi-void
+                   eval-local-transformer
+                   chi-local-syntax
+                   chi-body
+                   chi-macro
+                   chi-call
+                   chi-expr
+                   chi
+                   syntax-type
+                   chi-when-list
+                   chi-install-global
+                   chi-top-sequence
+                   chi-sequence
+                   source-wrap
+                   wrap
+                   bound-id-member?
+                   distinct-bound-ids?
+                   valid-bound-ids?
+                   bound-id=?
+                   free-id=?
+                   id-var-name
+                   same-marks?
+                   join-marks
+                   join-wraps
+                   smart-append
+                   make-binding-wrap
+                   extend-ribcage!
+                   make-empty-ribcage
+                   new-mark
+                   anti-mark
+                   the-anti-mark
+                   top-marked?
+                   top-wrap
+                   empty-wrap
+                   set-ribcage-labels!
+                   set-ribcage-marks!
+                   set-ribcage-symnames!
+                   ribcage-labels
+                   ribcage-marks
+                   ribcage-symnames
+                   ribcage?
+                   make-ribcage
+                   gen-labels
+                   gen-label
+                   make-rename
+                   rename-marks
+                   rename-new
+                   rename-old
+                   subst-rename?
+                   wrap-subst
+                   wrap-marks
+                   make-wrap
+                   id-sym-name&marks
+                   id-sym-name
+                   id?
+                   nonsymbol-id?
+                   global-extend
+                   lookup
+                   macros-only-env
+                   extend-var-env
+                   extend-env
+                   null-env
+                   binding-value
+                   binding-type
+                   make-binding
+                   arg-check
+                   source-annotation
+                   no-source
+                   set-syntax-object-module!
+                   set-syntax-object-wrap!
+                   set-syntax-object-expression!
+                   syntax-object-module
+                   syntax-object-wrap
+                   syntax-object-expression
+                   syntax-object?
+                   make-syntax-object
+                   build-lexical-var
+                   build-letrec
+                   build-named-let
+                   build-let
+                   build-sequence
+                   build-data
+                   build-primref
+                   build-primcall
+                   build-lambda-case
+                   build-case-lambda
+                   build-simple-lambda
+                   build-global-definition
+                   build-global-assignment
+                   build-global-reference
+                   analyze-variable
+                   build-lexical-assignment
+                   build-lexical-reference
+                   build-dynlet
+                   build-conditional
+                   build-call
+                   build-void
+                   maybe-name-value!
+                   decorate-source
+                   get-global-definition-hook
+                   put-global-definition-hook
+                   gensym-hook
+                   local-eval-hook
+                   top-level-eval-hook
+                   fx<
+                   fx=
+                   fx-
+                   fx+
+                   set-lambda-meta!
+                   lambda-meta
+                   lambda?
+                   make-dynlet
+                   make-letrec
+                   make-let
+                   make-lambda-case
+                   make-lambda
+                   make-seq
+                   make-primcall
+                   make-call
+                   make-conditional
+                   make-toplevel-define
+                   make-toplevel-set
+                   make-toplevel-ref
+                   make-module-set
+                   make-module-ref
+                   make-lexical-set
+                   make-lexical-ref
+                   make-primitive-ref
+                   make-const
+                   make-void)
+                 ((top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top)
+                  (top))
+                 ("i452"
+                  "i450"
+                  "i448"
+                  "i446"
+                  "i444"
+                  "i442"
+                  "i440"
+                  "i438"
+                  "i436"
+                  "i434"
+                  "i432"
+                  "i430"
+                  "i428"
+                  "i426"
+                  "i424"
+                  "i422"
+                  "i420"
+                  "i418"
+                  "i416"
+                  "i414"
+                  "i412"
+                  "i410"
+                  "i408"
+                  "i406"
+                  "i404"
+                  "i402"
+                  "i400"
+                  "i398"
+                  "i396"
+                  "i394"
+                  "i392"
+                  "i390"
+                  "i388"
+                  "i386"
+                  "i384"
+                  "i383"
+                  "i382"
+                  "i380"
+                  "i379"
+                  "i378"
+                  "i377"
+                  "i376"
+                  "i374"
+                  "i372"
+                  "i370"
+                  "i368"
+                  "i366"
+                  "i364"
+                  "i362"
+                  "i360"
+                  "i357"
+                  "i355"
+                  "i354"
+                  "i353"
+                  "i352"
+                  "i351"
+                  "i350"
+                  "i349"
+                  "i348"
+                  "i347"
+                  "i345"
+                  "i344"
+                  "i342"
+                  "i340"
+                  "i338"
+                  "i336"
+                  "i334"
+                  "i332"
+                  "i330"
+                  "i329"
+                  "i328"
+                  "i327"
+                  "i326"
+                  "i325"
+                  "i323"
+                  "i322"
+                  "i320"
+                  "i318"
+                  "i316"
+                  "i314"
+                  "i312"
+                  "i310"
+                  "i308"
+                  "i306"
+                  "i304"
+                  "i302"
+                  "i300"
+                  "i298"
+                  "i296"
+                  "i294"
+                  "i292"
+                  "i290"
+                  "i288"
+                  "i286"
+                  "i284"
+                  "i282"
+                  "i280"
+                  "i278"
+                  "i276"
+                  "i274"
+                  "i272"
+                  "i270"
+                  "i268"
+                  "i266"
+                  "i264"
+                  "i262"
+                  "i260"
+                  "i258"
+                  "i256"
+                  "i255"
+                  "i253"
+                  "i251"
+                  "i250"
+                  "i249"
+                  "i248"
+                  "i247"
+                  "i245"
+                  "i243"
+                  "i241"
+                  "i238"
+                  "i236"
+                  "i234"
+                  "i232"
+                  "i230"
+                  "i228"
+                  "i226"
+                  "i224"
+                  "i222"
+                  "i220"
+                  "i218"
+                  "i216"
+                  "i214"
+                  "i212"
+                  "i210"
+                  "i208"
+                  "i206"
+                  "i204"
+                  "i202"))
+               #(ribcage
+                 (define-structure
+                   define-expansion-accessors
+                   define-expansion-constructors)
+                 ((top) (top) (top))
+                 ("i40" "i39" "i38")))
+              (hygiene guile)))
+         #f)))
+   (#{lambda-formals 441}#
+     (lambda (#{orig-args 2230}#)
+       (letrec*
+         ((#{req 2233}#
+            (lambda (#{args 2236}# #{rreq 2237}#)
+              (let ((#{tmp 2240}# #{args 2236}#))
+                (let ((#{tmp 2241}# ($sc-dispatch #{tmp 2240}# '())))
+                  (if #{tmp 2241}#
+                    (@apply
+                      (lambda ()
+                        (#{check 2235}# (reverse #{rreq 2237}#) #f))
+                      #{tmp 2241}#)
+                    (let ((#{tmp 2242}#
+                            ($sc-dispatch #{tmp 2240}# '(any . any))))
+                      (if (if #{tmp 2242}#
+                            (@apply
+                              (lambda (#{a 2245}# #{b 2246}#)
+                                (#{id? 343}# #{a 2245}#))
+                              #{tmp 2242}#)
+                            #f)
+                        (@apply
+                          (lambda (#{a 2249}# #{b 2250}#)
+                            (#{req 2233}#
+                              #{b 2250}#
+                              (cons #{a 2249}# #{rreq 2237}#)))
+                          #{tmp 2242}#)
+                        (let ((#{tmp 2251}# (list #{tmp 2240}#)))
+                          (if (if #{tmp 2251}#
+                                (@apply
+                                  (lambda (#{r 2253}#)
+                                    (#{id? 343}# #{r 2253}#))
+                                  #{tmp 2251}#)
+                                #f)
+                            (@apply
+                              (lambda (#{r 2255}#)
+                                (#{check 2235}#
+                                  (reverse #{rreq 2237}#)
+                                  #{r 2255}#))
+                              #{tmp 2251}#)
+                            (let ((#{else 2257}# #{tmp 2240}#))
+                              (syntax-violation
+                                'lambda
+                                "invalid argument list"
+                                #{orig-args 2230}#
+                                #{args 2236}#)))))))))))
+          (#{check 2235}#
+            (lambda (#{req 2258}# #{rest 2259}#)
+              (if (#{distinct-bound-ids? 405}#
+                    (if #{rest 2259}#
+                      (cons #{rest 2259}# #{req 2258}#)
+                      #{req 2258}#))
+                (values #{req 2258}# #f #{rest 2259}# #f)
+                (syntax-violation
+                  'lambda
+                  "duplicate identifier in argument list"
+                  #{orig-args 2230}#)))))
+         (#{req 2233}# #{orig-args 2230}# '()))))
+   (#{chi-simple-lambda 443}#
+     (lambda (#{e 2265}#
+              #{r 2266}#
+              #{w 2267}#
+              #{s 2268}#
+              #{mod 2269}#
+              #{req 2270}#
+              #{rest 2271}#
+              #{meta 2272}#
+              #{body 2273}#)
+       (let ((#{ids 2285}#
+               (if #{rest 2271}#
+                 (append #{req 2270}# (list #{rest 2271}#))
+                 #{req 2270}#)))
+         (let ((#{vars 2287}#
+                 (map #{gen-var 451}# #{ids 2285}#)))
+           (let ((#{labels 2289}#
+                   (#{gen-labels 358}# #{ids 2285}#)))
+             (#{build-simple-lambda 285}#
+               #{s 2268}#
+               (map syntax->datum #{req 2270}#)
+               (if #{rest 2271}#
+                 (syntax->datum #{rest 2271}#)
+                 #f)
+               #{vars 2287}#
+               #{meta 2272}#
+               (#{chi-body 431}#
+                 #{body 2273}#
+                 (#{source-wrap 411}#
+                   #{e 2265}#
+                   #{w 2267}#
+                   #{s 2268}#
+                   #{mod 2269}#)
+                 (#{extend-var-env 333}#
+                   #{labels 2289}#
+                   #{vars 2287}#
+                   #{r 2266}#)
+                 (#{make-binding-wrap 387}#
+                   #{ids 2285}#
+                   #{labels 2289}#
+                   #{w 2267}#)
+                 #{mod 2269}#)))))))
+   (#{lambda*-formals 445}#
+     (lambda (#{orig-args 2292}#)
+       (letrec*
+         ((#{req 2295}#
+            (lambda (#{args 2304}# #{rreq 2305}#)
+              (let ((#{tmp 2308}# #{args 2304}#))
+                (let ((#{tmp 2309}# ($sc-dispatch #{tmp 2308}# '())))
+                  (if #{tmp 2309}#
+                    (@apply
+                      (lambda ()
+                        (#{check 2303}#
+                          (reverse #{rreq 2305}#)
+                          '()
+                          #f
+                          '()))
+                      #{tmp 2309}#)
+                    (let ((#{tmp 2310}#
+                            ($sc-dispatch #{tmp 2308}# '(any . any))))
+                      (if (if #{tmp 2310}#
+                            (@apply
+                              (lambda (#{a 2313}# #{b 2314}#)
+                                (#{id? 343}# #{a 2313}#))
+                              #{tmp 2310}#)
+                            #f)
+                        (@apply
+                          (lambda (#{a 2317}# #{b 2318}#)
+                            (#{req 2295}#
+                              #{b 2318}#
+                              (cons #{a 2317}# #{rreq 2305}#)))
+                          #{tmp 2310}#)
+                        (let ((#{tmp 2319}#
+                                ($sc-dispatch #{tmp 2308}# '(any . any))))
+                          (if (if #{tmp 2319}#
+                                (@apply
+                                  (lambda (#{a 2322}# #{b 2323}#)
+                                    (eq? (syntax->datum #{a 2322}#)
+                                         #:optional))
+                                  #{tmp 2319}#)
+                                #f)
+                            (@apply
+                              (lambda (#{a 2326}# #{b 2327}#)
+                                (#{opt 2297}#
+                                  #{b 2327}#
+                                  (reverse #{rreq 2305}#)
+                                  '()))
+                              #{tmp 2319}#)
+                            (let ((#{tmp 2328}#
+                                    ($sc-dispatch #{tmp 2308}# '(any . any))))
+                              (if (if #{tmp 2328}#
+                                    (@apply
+                                      (lambda (#{a 2331}# #{b 2332}#)
+                                        (eq? (syntax->datum #{a 2331}#) #:key))
+                                      #{tmp 2328}#)
+                                    #f)
+                                (@apply
+                                  (lambda (#{a 2335}# #{b 2336}#)
+                                    (#{key 2299}#
+                                      #{b 2336}#
+                                      (reverse #{rreq 2305}#)
+                                      '()
+                                      '()))
+                                  #{tmp 2328}#)
+                                (let ((#{tmp 2337}#
+                                        ($sc-dispatch
+                                          #{tmp 2308}#
+                                          '(any any))))
+                                  (if (if #{tmp 2337}#
+                                        (@apply
+                                          (lambda (#{a 2340}# #{b 2341}#)
+                                            (eq? (syntax->datum #{a 2340}#)
+                                                 #:rest))
+                                          #{tmp 2337}#)
+                                        #f)
+                                    (@apply
+                                      (lambda (#{a 2344}# #{b 2345}#)
+                                        (#{rest 2301}#
+                                          #{b 2345}#
+                                          (reverse #{rreq 2305}#)
+                                          '()
+                                          '()))
+                                      #{tmp 2337}#)
+                                    (let ((#{tmp 2346}# (list #{tmp 2308}#)))
+                                      (if (if #{tmp 2346}#
+                                            (@apply
+                                              (lambda (#{r 2348}#)
+                                                (#{id? 343}# #{r 2348}#))
+                                              #{tmp 2346}#)
+                                            #f)
+                                        (@apply
+                                          (lambda (#{r 2350}#)
+                                            (#{rest 2301}#
+                                              #{r 2350}#
+                                              (reverse #{rreq 2305}#)
+                                              '()
+                                              '()))
+                                          #{tmp 2346}#)
+                                        (let ((#{else 2352}# #{tmp 2308}#))
+                                          (syntax-violation
+                                            'lambda*
+                                            "invalid argument list"
+                                            #{orig-args 2292}#
+                                            #{args 2304}#)))))))))))))))))
+          (#{opt 2297}#
+            (lambda (#{args 2353}# #{req 2354}# #{ropt 2355}#)
+              (let ((#{tmp 2359}# #{args 2353}#))
+                (let ((#{tmp 2360}# ($sc-dispatch #{tmp 2359}# '())))
+                  (if #{tmp 2360}#
+                    (@apply
+                      (lambda ()
+                        (#{check 2303}#
+                          #{req 2354}#
+                          (reverse #{ropt 2355}#)
+                          #f
+                          '()))
+                      #{tmp 2360}#)
+                    (let ((#{tmp 2361}#
+                            ($sc-dispatch #{tmp 2359}# '(any . any))))
+                      (if (if #{tmp 2361}#
+                            (@apply
+                              (lambda (#{a 2364}# #{b 2365}#)
+                                (#{id? 343}# #{a 2364}#))
+                              #{tmp 2361}#)
+                            #f)
+                        (@apply
+                          (lambda (#{a 2368}# #{b 2369}#)
+                            (#{opt 2297}#
+                              #{b 2369}#
+                              #{req 2354}#
+                              (cons (cons #{a 2368}#
+                                          '(#(syntax-object
+                                              #f
+                                              ((top)
+                                               #(ribcage
+                                                 #(a b)
+                                                 #((top) (top))
+                                                 #("i2366" "i2367"))
+                                               #(ribcage () () ())
+                                               #(ribcage
+                                                 #(args req ropt)
+                                                 #((top) (top) (top))
+                                                 #("i2356" "i2357" "i2358"))
+                                               #(ribcage
+                                                 (check rest key opt req)
+                                                 ((top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top))
+                                                 ("i2302"
+                                                  "i2300"
+                                                  "i2298"
+                                                  "i2296"
+                                                  "i2294"))
+                                               #(ribcage
+                                                 #(orig-args)
+                                                 #((top))
+                                                 #("i2293"))
+                                               #(ribcage
+                                                 (lambda-var-list
+                                                   gen-var
+                                                   strip
+                                                   chi-lambda-case
+                                                   lambda*-formals
+                                                   chi-simple-lambda
+                                                   lambda-formals
+                                                   ellipsis?
+                                                   chi-void
+                                                   eval-local-transformer
+                                                   chi-local-syntax
+                                                   chi-body
+                                                   chi-macro
+                                                   chi-call
+                                                   chi-expr
+                                                   chi
+                                                   syntax-type
+                                                   chi-when-list
+                                                   chi-install-global
+                                                   chi-top-sequence
+                                                   chi-sequence
+                                                   source-wrap
+                                                   wrap
+                                                   bound-id-member?
+                                                   distinct-bound-ids?
+                                                   valid-bound-ids?
+                                                   bound-id=?
+                                                   free-id=?
+                                                   id-var-name
+                                                   same-marks?
+                                                   join-marks
+                                                   join-wraps
+                                                   smart-append
+                                                   make-binding-wrap
+                                                   extend-ribcage!
+                                                   make-empty-ribcage
+                                                   new-mark
+                                                   anti-mark
+                                                   the-anti-mark
+                                                   top-marked?
+                                                   top-wrap
+                                                   empty-wrap
+                                                   set-ribcage-labels!
+                                                   set-ribcage-marks!
+                                                   set-ribcage-symnames!
+                                                   ribcage-labels
+                                                   ribcage-marks
+                                                   ribcage-symnames
+                                                   ribcage?
+                                                   make-ribcage
+                                                   gen-labels
+                                                   gen-label
+                                                   make-rename
+                                                   rename-marks
+                                                   rename-new
+                                                   rename-old
+                                                   subst-rename?
+                                                   wrap-subst
+                                                   wrap-marks
+                                                   make-wrap
+                                                   id-sym-name&marks
+                                                   id-sym-name
+                                                   id?
+                                                   nonsymbol-id?
+                                                   global-extend
+                                                   lookup
+                                                   macros-only-env
+                                                   extend-var-env
+                                                   extend-env
+                                                   null-env
+                                                   binding-value
+                                                   binding-type
+                                                   make-binding
+                                                   arg-check
+                                                   source-annotation
+                                                   no-source
+                                                   set-syntax-object-module!
+                                                   set-syntax-object-wrap!
+                                                   
set-syntax-object-expression!
+                                                   syntax-object-module
+                                                   syntax-object-wrap
+                                                   syntax-object-expression
+                                                   syntax-object?
+                                                   make-syntax-object
+                                                   build-lexical-var
+                                                   build-letrec
+                                                   build-named-let
+                                                   build-let
+                                                   build-sequence
+                                                   build-data
+                                                   build-primref
+                                                   build-primcall
+                                                   build-lambda-case
+                                                   build-case-lambda
+                                                   build-simple-lambda
+                                                   build-global-definition
+                                                   build-global-assignment
+                                                   build-global-reference
+                                                   analyze-variable
+                                                   build-lexical-assignment
+                                                   build-lexical-reference
+                                                   build-dynlet
+                                                   build-conditional
+                                                   build-call
+                                                   build-void
+                                                   maybe-name-value!
+                                                   decorate-source
+                                                   get-global-definition-hook
+                                                   put-global-definition-hook
+                                                   gensym-hook
+                                                   local-eval-hook
+                                                   top-level-eval-hook
+                                                   fx<
+                                                   fx=
+                                                   fx-
+                                                   fx+
+                                                   set-lambda-meta!
+                                                   lambda-meta
+                                                   lambda?
+                                                   make-dynlet
+                                                   make-letrec
+                                                   make-let
+                                                   make-lambda-case
+                                                   make-lambda
+                                                   make-seq
+                                                   make-primcall
+                                                   make-call
+                                                   make-conditional
+                                                   make-toplevel-define
+                                                   make-toplevel-set
+                                                   make-toplevel-ref
+                                                   make-module-set
+                                                   make-module-ref
+                                                   make-lexical-set
+                                                   make-lexical-ref
+                                                   make-primitive-ref
+                                                   make-const
+                                                   make-void)
+                                                 ((top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top))
+                                                 ("i452"
+                                                  "i450"
+                                                  "i448"
+                                                  "i446"
+                                                  "i444"
+                                                  "i442"
+                                                  "i440"
+                                                  "i438"
+                                                  "i436"
+                                                  "i434"
+                                                  "i432"
+                                                  "i430"
+                                                  "i428"
+                                                  "i426"
+                                                  "i424"
+                                                  "i422"
+                                                  "i420"
+                                                  "i418"
+                                                  "i416"
+                                                  "i414"
+                                                  "i412"
+                                                  "i410"
+                                                  "i408"
+                                                  "i406"
+                                                  "i404"
+                                                  "i402"
+                                                  "i400"
+                                                  "i398"
+                                                  "i396"
+                                                  "i394"
+                                                  "i392"
+                                                  "i390"
+                                                  "i388"
+                                                  "i386"
+                                                  "i384"
+                                                  "i383"
+                                                  "i382"
+                                                  "i380"
+                                                  "i379"
+                                                  "i378"
+                                                  "i377"
+                                                  "i376"
+                                                  "i374"
+                                                  "i372"
+                                                  "i370"
+                                                  "i368"
+                                                  "i366"
+                                                  "i364"
+                                                  "i362"
+                                                  "i360"
+                                                  "i357"
+                                                  "i355"
+                                                  "i354"
+                                                  "i353"
+                                                  "i352"
+                                                  "i351"
+                                                  "i350"
+                                                  "i349"
+                                                  "i348"
+                                                  "i347"
+                                                  "i345"
+                                                  "i344"
+                                                  "i342"
+                                                  "i340"
+                                                  "i338"
+                                                  "i336"
+                                                  "i334"
+                                                  "i332"
+                                                  "i330"
+                                                  "i329"
+                                                  "i328"
+                                                  "i327"
+                                                  "i326"
+                                                  "i325"
+                                                  "i323"
+                                                  "i322"
+                                                  "i320"
+                                                  "i318"
+                                                  "i316"
+                                                  "i314"
+                                                  "i312"
+                                                  "i310"
+                                                  "i308"
+                                                  "i306"
+                                                  "i304"
+                                                  "i302"
+                                                  "i300"
+                                                  "i298"
+                                                  "i296"
+                                                  "i294"
+                                                  "i292"
+                                                  "i290"
+                                                  "i288"
+                                                  "i286"
+                                                  "i284"
+                                                  "i282"
+                                                  "i280"
+                                                  "i278"
+                                                  "i276"
+                                                  "i274"
+                                                  "i272"
+                                                  "i270"
+                                                  "i268"
+                                                  "i266"
+                                                  "i264"
+                                                  "i262"
+                                                  "i260"
+                                                  "i258"
+                                                  "i256"
+                                                  "i255"
+                                                  "i253"
+                                                  "i251"
+                                                  "i250"
+                                                  "i249"
+                                                  "i248"
+                                                  "i247"
+                                                  "i245"
+                                                  "i243"
+                                                  "i241"
+                                                  "i238"
+                                                  "i236"
+                                                  "i234"
+                                                  "i232"
+                                                  "i230"
+                                                  "i228"
+                                                  "i226"
+                                                  "i224"
+                                                  "i222"
+                                                  "i220"
+                                                  "i218"
+                                                  "i216"
+                                                  "i214"
+                                                  "i212"
+                                                  "i210"
+                                                  "i208"
+                                                  "i206"
+                                                  "i204"
+                                                  "i202"))
+                                               #(ribcage
+                                                 (define-structure
+                                                   define-expansion-accessors
+                                                   
define-expansion-constructors)
+                                                 ((top) (top) (top))
+                                                 ("i40" "i39" "i38")))
+                                              (hygiene guile))))
+                                    #{ropt 2355}#)))
+                          #{tmp 2361}#)
+                        (let ((#{tmp 2370}#
+                                ($sc-dispatch
+                                  #{tmp 2359}#
+                                  '((any any) . any))))
+                          (if (if #{tmp 2370}#
+                                (@apply
+                                  (lambda (#{a 2374}# #{init 2375}# #{b 2376}#)
+                                    (#{id? 343}# #{a 2374}#))
+                                  #{tmp 2370}#)
+                                #f)
+                            (@apply
+                              (lambda (#{a 2380}# #{init 2381}# #{b 2382}#)
+                                (#{opt 2297}#
+                                  #{b 2382}#
+                                  #{req 2354}#
+                                  (cons (list #{a 2380}# #{init 2381}#)
+                                        #{ropt 2355}#)))
+                              #{tmp 2370}#)
+                            (let ((#{tmp 2383}#
+                                    ($sc-dispatch #{tmp 2359}# '(any . any))))
+                              (if (if #{tmp 2383}#
+                                    (@apply
+                                      (lambda (#{a 2386}# #{b 2387}#)
+                                        (eq? (syntax->datum #{a 2386}#) #:key))
+                                      #{tmp 2383}#)
+                                    #f)
+                                (@apply
+                                  (lambda (#{a 2390}# #{b 2391}#)
+                                    (#{key 2299}#
+                                      #{b 2391}#
+                                      #{req 2354}#
+                                      (reverse #{ropt 2355}#)
+                                      '()))
+                                  #{tmp 2383}#)
+                                (let ((#{tmp 2392}#
+                                        ($sc-dispatch
+                                          #{tmp 2359}#
+                                          '(any any))))
+                                  (if (if #{tmp 2392}#
+                                        (@apply
+                                          (lambda (#{a 2395}# #{b 2396}#)
+                                            (eq? (syntax->datum #{a 2395}#)
+                                                 #:rest))
+                                          #{tmp 2392}#)
+                                        #f)
+                                    (@apply
+                                      (lambda (#{a 2399}# #{b 2400}#)
+                                        (#{rest 2301}#
+                                          #{b 2400}#
+                                          #{req 2354}#
+                                          (reverse #{ropt 2355}#)
+                                          '()))
+                                      #{tmp 2392}#)
+                                    (let ((#{tmp 2401}# (list #{tmp 2359}#)))
+                                      (if (if #{tmp 2401}#
+                                            (@apply
+                                              (lambda (#{r 2403}#)
+                                                (#{id? 343}# #{r 2403}#))
+                                              #{tmp 2401}#)
+                                            #f)
+                                        (@apply
+                                          (lambda (#{r 2405}#)
+                                            (#{rest 2301}#
+                                              #{r 2405}#
+                                              #{req 2354}#
+                                              (reverse #{ropt 2355}#)
+                                              '()))
+                                          #{tmp 2401}#)
+                                        (let ((#{else 2407}# #{tmp 2359}#))
+                                          (syntax-violation
+                                            'lambda*
+                                            "invalid optional argument list"
+                                            #{orig-args 2292}#
+                                            #{args 2353}#)))))))))))))))))
+          (#{key 2299}#
+            (lambda (#{args 2408}#
+                     #{req 2409}#
+                     #{opt 2410}#
+                     #{rkey 2411}#)
+              (let ((#{tmp 2416}# #{args 2408}#))
+                (let ((#{tmp 2417}# ($sc-dispatch #{tmp 2416}# '())))
+                  (if #{tmp 2417}#
+                    (@apply
+                      (lambda ()
+                        (#{check 2303}#
+                          #{req 2409}#
+                          #{opt 2410}#
+                          #f
+                          (cons #f (reverse #{rkey 2411}#))))
+                      #{tmp 2417}#)
+                    (let ((#{tmp 2418}#
+                            ($sc-dispatch #{tmp 2416}# '(any . any))))
+                      (if (if #{tmp 2418}#
+                            (@apply
+                              (lambda (#{a 2421}# #{b 2422}#)
+                                (#{id? 343}# #{a 2421}#))
+                              #{tmp 2418}#)
+                            #f)
+                        (@apply
+                          (lambda (#{a 2425}# #{b 2426}#)
+                            (let ((#{tmp 2428}#
+                                    (symbol->keyword
+                                      (syntax->datum #{a 2425}#))))
+                              (let ((#{k 2430}# #{tmp 2428}#))
+                                (#{key 2299}#
+                                  #{b 2426}#
+                                  #{req 2409}#
+                                  #{opt 2410}#
+                                  (cons (cons #{k 2430}#
+                                              (cons #{a 2425}#
+                                                    '(#(syntax-object
+                                                        #f
+                                                        ((top)
+                                                         #(ribcage () () ())
+                                                         #(ribcage
+                                                           #(k)
+                                                           #((top))
+                                                           #("i2429"))
+                                                         #(ribcage
+                                                           #(a b)
+                                                           #((top) (top))
+                                                           #("i2423" "i2424"))
+                                                         #(ribcage () () ())
+                                                         #(ribcage
+                                                           #(args req opt rkey)
+                                                           #((top)
+                                                             (top)
+                                                             (top)
+                                                             (top))
+                                                           #("i2412"
+                                                             "i2413"
+                                                             "i2414"
+                                                             "i2415"))
+                                                         #(ribcage
+                                                           (check rest
+                                                                  key
+                                                                  opt
+                                                                  req)
+                                                           ((top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top))
+                                                           ("i2302"
+                                                            "i2300"
+                                                            "i2298"
+                                                            "i2296"
+                                                            "i2294"))
+                                                         #(ribcage
+                                                           #(orig-args)
+                                                           #((top))
+                                                           #("i2293"))
+                                                         #(ribcage
+                                                           (lambda-var-list
+                                                             gen-var
+                                                             strip
+                                                             chi-lambda-case
+                                                             lambda*-formals
+                                                             chi-simple-lambda
+                                                             lambda-formals
+                                                             ellipsis?
+                                                             chi-void
+                                                             
eval-local-transformer
+                                                             chi-local-syntax
+                                                             chi-body
+                                                             chi-macro
+                                                             chi-call
+                                                             chi-expr
+                                                             chi
+                                                             syntax-type
+                                                             chi-when-list
+                                                             chi-install-global
+                                                             chi-top-sequence
+                                                             chi-sequence
+                                                             source-wrap
+                                                             wrap
+                                                             bound-id-member?
+                                                             
distinct-bound-ids?
+                                                             valid-bound-ids?
+                                                             bound-id=?
+                                                             free-id=?
+                                                             id-var-name
+                                                             same-marks?
+                                                             join-marks
+                                                             join-wraps
+                                                             smart-append
+                                                             make-binding-wrap
+                                                             extend-ribcage!
+                                                             make-empty-ribcage
+                                                             new-mark
+                                                             anti-mark
+                                                             the-anti-mark
+                                                             top-marked?
+                                                             top-wrap
+                                                             empty-wrap
+                                                             
set-ribcage-labels!
+                                                             set-ribcage-marks!
+                                                             
set-ribcage-symnames!
+                                                             ribcage-labels
+                                                             ribcage-marks
+                                                             ribcage-symnames
+                                                             ribcage?
+                                                             make-ribcage
+                                                             gen-labels
+                                                             gen-label
+                                                             make-rename
+                                                             rename-marks
+                                                             rename-new
+                                                             rename-old
+                                                             subst-rename?
+                                                             wrap-subst
+                                                             wrap-marks
+                                                             make-wrap
+                                                             id-sym-name&marks
+                                                             id-sym-name
+                                                             id?
+                                                             nonsymbol-id?
+                                                             global-extend
+                                                             lookup
+                                                             macros-only-env
+                                                             extend-var-env
+                                                             extend-env
+                                                             null-env
+                                                             binding-value
+                                                             binding-type
+                                                             make-binding
+                                                             arg-check
+                                                             source-annotation
+                                                             no-source
+                                                             
set-syntax-object-module!
+                                                             
set-syntax-object-wrap!
+                                                             
set-syntax-object-expression!
+                                                             
syntax-object-module
+                                                             syntax-object-wrap
+                                                             
syntax-object-expression
+                                                             syntax-object?
+                                                             make-syntax-object
+                                                             build-lexical-var
+                                                             build-letrec
+                                                             build-named-let
+                                                             build-let
+                                                             build-sequence
+                                                             build-data
+                                                             build-primref
+                                                             build-primcall
+                                                             build-lambda-case
+                                                             build-case-lambda
+                                                             
build-simple-lambda
+                                                             
build-global-definition
+                                                             
build-global-assignment
+                                                             
build-global-reference
+                                                             analyze-variable
+                                                             
build-lexical-assignment
+                                                             
build-lexical-reference
+                                                             build-dynlet
+                                                             build-conditional
+                                                             build-call
+                                                             build-void
+                                                             maybe-name-value!
+                                                             decorate-source
+                                                             
get-global-definition-hook
+                                                             
put-global-definition-hook
+                                                             gensym-hook
+                                                             local-eval-hook
+                                                             
top-level-eval-hook
+                                                             fx<
+                                                             fx=
+                                                             fx-
+                                                             fx+
+                                                             set-lambda-meta!
+                                                             lambda-meta
+                                                             lambda?
+                                                             make-dynlet
+                                                             make-letrec
+                                                             make-let
+                                                             make-lambda-case
+                                                             make-lambda
+                                                             make-seq
+                                                             make-primcall
+                                                             make-call
+                                                             make-conditional
+                                                             
make-toplevel-define
+                                                             make-toplevel-set
+                                                             make-toplevel-ref
+                                                             make-module-set
+                                                             make-module-ref
+                                                             make-lexical-set
+                                                             make-lexical-ref
+                                                             make-primitive-ref
+                                                             make-const
+                                                             make-void)
+                                                           ((top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top)
+                                                            (top))
+                                                           ("i452"
+                                                            "i450"
+                                                            "i448"
+                                                            "i446"
+                                                            "i444"
+                                                            "i442"
+                                                            "i440"
+                                                            "i438"
+                                                            "i436"
+                                                            "i434"
+                                                            "i432"
+                                                            "i430"
+                                                            "i428"
+                                                            "i426"
+                                                            "i424"
+                                                            "i422"
+                                                            "i420"
+                                                            "i418"
+                                                            "i416"
+                                                            "i414"
+                                                            "i412"
+                                                            "i410"
+                                                            "i408"
+                                                            "i406"
+                                                            "i404"
+                                                            "i402"
+                                                            "i400"
+                                                            "i398"
+                                                            "i396"
+                                                            "i394"
+                                                            "i392"
+                                                            "i390"
+                                                            "i388"
+                                                            "i386"
+                                                            "i384"
+                                                            "i383"
+                                                            "i382"
+                                                            "i380"
+                                                            "i379"
+                                                            "i378"
+                                                            "i377"
+                                                            "i376"
+                                                            "i374"
+                                                            "i372"
+                                                            "i370"
+                                                            "i368"
+                                                            "i366"
+                                                            "i364"
+                                                            "i362"
+                                                            "i360"
+                                                            "i357"
+                                                            "i355"
+                                                            "i354"
+                                                            "i353"
+                                                            "i352"
+                                                            "i351"
+                                                            "i350"
+                                                            "i349"
+                                                            "i348"
+                                                            "i347"
+                                                            "i345"
+                                                            "i344"
+                                                            "i342"
+                                                            "i340"
+                                                            "i338"
+                                                            "i336"
+                                                            "i334"
+                                                            "i332"
+                                                            "i330"
+                                                            "i329"
+                                                            "i328"
+                                                            "i327"
+                                                            "i326"
+                                                            "i325"
+                                                            "i323"
+                                                            "i322"
+                                                            "i320"
+                                                            "i318"
+                                                            "i316"
+                                                            "i314"
+                                                            "i312"
+                                                            "i310"
+                                                            "i308"
+                                                            "i306"
+                                                            "i304"
+                                                            "i302"
+                                                            "i300"
+                                                            "i298"
+                                                            "i296"
+                                                            "i294"
+                                                            "i292"
+                                                            "i290"
+                                                            "i288"
+                                                            "i286"
+                                                            "i284"
+                                                            "i282"
+                                                            "i280"
+                                                            "i278"
+                                                            "i276"
+                                                            "i274"
+                                                            "i272"
+                                                            "i270"
+                                                            "i268"
+                                                            "i266"
+                                                            "i264"
+                                                            "i262"
+                                                            "i260"
+                                                            "i258"
+                                                            "i256"
+                                                            "i255"
+                                                            "i253"
+                                                            "i251"
+                                                            "i250"
+                                                            "i249"
+                                                            "i248"
+                                                            "i247"
+                                                            "i245"
+                                                            "i243"
+                                                            "i241"
+                                                            "i238"
+                                                            "i236"
+                                                            "i234"
+                                                            "i232"
+                                                            "i230"
+                                                            "i228"
+                                                            "i226"
+                                                            "i224"
+                                                            "i222"
+                                                            "i220"
+                                                            "i218"
+                                                            "i216"
+                                                            "i214"
+                                                            "i212"
+                                                            "i210"
+                                                            "i208"
+                                                            "i206"
+                                                            "i204"
+                                                            "i202"))
+                                                         #(ribcage
+                                                           (define-structure
+                                                             
define-expansion-accessors
+                                                             
define-expansion-constructors)
+                                                           ((top) (top) (top))
+                                                           ("i40"
+                                                            "i39"
+                                                            "i38")))
+                                                        (hygiene guile)))))
+                                        #{rkey 2411}#)))))
+                          #{tmp 2418}#)
+                        (let ((#{tmp 2431}#
+                                ($sc-dispatch
+                                  #{tmp 2416}#
+                                  '((any any) . any))))
+                          (if (if #{tmp 2431}#
+                                (@apply
+                                  (lambda (#{a 2435}# #{init 2436}# #{b 2437}#)
+                                    (#{id? 343}# #{a 2435}#))
+                                  #{tmp 2431}#)
+                                #f)
+                            (@apply
+                              (lambda (#{a 2441}# #{init 2442}# #{b 2443}#)
+                                (let ((#{tmp 2445}#
+                                        (symbol->keyword
+                                          (syntax->datum #{a 2441}#))))
+                                  (let ((#{k 2447}# #{tmp 2445}#))
+                                    (#{key 2299}#
+                                      #{b 2443}#
+                                      #{req 2409}#
+                                      #{opt 2410}#
+                                      (cons (list #{k 2447}#
+                                                  #{a 2441}#
+                                                  #{init 2442}#)
+                                            #{rkey 2411}#)))))
+                              #{tmp 2431}#)
+                            (let ((#{tmp 2448}#
+                                    ($sc-dispatch
+                                      #{tmp 2416}#
+                                      '((any any any) . any))))
+                              (if (if #{tmp 2448}#
+                                    (@apply
+                                      (lambda (#{a 2453}#
+                                               #{init 2454}#
+                                               #{k 2455}#
+                                               #{b 2456}#)
+                                        (if (#{id? 343}# #{a 2453}#)
+                                          (keyword? (syntax->datum #{k 2455}#))
+                                          #f))
+                                      #{tmp 2448}#)
+                                    #f)
+                                (@apply
+                                  (lambda (#{a 2463}#
+                                           #{init 2464}#
+                                           #{k 2465}#
+                                           #{b 2466}#)
+                                    (#{key 2299}#
+                                      #{b 2466}#
+                                      #{req 2409}#
+                                      #{opt 2410}#
+                                      (cons (list #{k 2465}#
+                                                  #{a 2463}#
+                                                  #{init 2464}#)
+                                            #{rkey 2411}#)))
+                                  #{tmp 2448}#)
+                                (let ((#{tmp 2467}#
+                                        ($sc-dispatch #{tmp 2416}# '(any))))
+                                  (if (if #{tmp 2467}#
+                                        (@apply
+                                          (lambda (#{aok 2469}#)
+                                            (eq? (syntax->datum #{aok 2469}#)
+                                                 #:allow-other-keys))
+                                          #{tmp 2467}#)
+                                        #f)
+                                    (@apply
+                                      (lambda (#{aok 2471}#)
+                                        (#{check 2303}#
+                                          #{req 2409}#
+                                          #{opt 2410}#
+                                          #f
+                                          (cons #t (reverse #{rkey 2411}#))))
+                                      #{tmp 2467}#)
+                                    (let ((#{tmp 2472}#
+                                            ($sc-dispatch
+                                              #{tmp 2416}#
+                                              '(any any any))))
+                                      (if (if #{tmp 2472}#
+                                            (@apply
+                                              (lambda (#{aok 2476}#
+                                                       #{a 2477}#
+                                                       #{b 2478}#)
+                                                (if (eq? (syntax->datum
+                                                           #{aok 2476}#)
+                                                         #:allow-other-keys)
+                                                  (eq? (syntax->datum
+                                                         #{a 2477}#)
+                                                       #:rest)
+                                                  #f))
+                                              #{tmp 2472}#)
+                                            #f)
+                                        (@apply
+                                          (lambda (#{aok 2484}#
+                                                   #{a 2485}#
+                                                   #{b 2486}#)
+                                            (#{rest 2301}#
+                                              #{b 2486}#
+                                              #{req 2409}#
+                                              #{opt 2410}#
+                                              (cons #t
+                                                    (reverse #{rkey 2411}#))))
+                                          #{tmp 2472}#)
+                                        (let ((#{tmp 2487}#
+                                                ($sc-dispatch
+                                                  #{tmp 2416}#
+                                                  '(any . any))))
+                                          (if (if #{tmp 2487}#
+                                                (@apply
+                                                  (lambda (#{aok 2490}#
+                                                           #{r 2491}#)
+                                                    (if (eq? (syntax->datum
+                                                               #{aok 2490}#)
+                                                             
#:allow-other-keys)
+                                                      (#{id? 343}# #{r 2491}#)
+                                                      #f))
+                                                  #{tmp 2487}#)
+                                                #f)
+                                            (@apply
+                                              (lambda (#{aok 2496}# #{r 2497}#)
+                                                (#{rest 2301}#
+                                                  #{r 2497}#
+                                                  #{req 2409}#
+                                                  #{opt 2410}#
+                                                  (cons #t
+                                                        (reverse
+                                                          #{rkey 2411}#))))
+                                              #{tmp 2487}#)
+                                            (let ((#{tmp 2498}#
+                                                    ($sc-dispatch
+                                                      #{tmp 2416}#
+                                                      '(any any))))
+                                              (if (if #{tmp 2498}#
+                                                    (@apply
+                                                      (lambda (#{a 2501}#
+                                                               #{b 2502}#)
+                                                        (eq? (syntax->datum
+                                                               #{a 2501}#)
+                                                             #:rest))
+                                                      #{tmp 2498}#)
+                                                    #f)
+                                                (@apply
+                                                  (lambda (#{a 2505}#
+                                                           #{b 2506}#)
+                                                    (#{rest 2301}#
+                                                      #{b 2506}#
+                                                      #{req 2409}#
+                                                      #{opt 2410}#
+                                                      (cons #f
+                                                            (reverse
+                                                              #{rkey 2411}#))))
+                                                  #{tmp 2498}#)
+                                                (let ((#{tmp 2507}#
+                                                        (list #{tmp 2416}#)))
+                                                  (if (if #{tmp 2507}#
+                                                        (@apply
+                                                          (lambda (#{r 2509}#)
+                                                            (#{id? 343}#
+                                                              #{r 2509}#))
+                                                          #{tmp 2507}#)
+                                                        #f)
+                                                    (@apply
+                                                      (lambda (#{r 2511}#)
+                                                        (#{rest 2301}#
+                                                          #{r 2511}#
+                                                          #{req 2409}#
+                                                          #{opt 2410}#
+                                                          (cons #f
+                                                                (reverse
+                                                                  #{rkey 
2411}#))))
+                                                      #{tmp 2507}#)
+                                                    (let ((#{else 2513}#
+                                                            #{tmp 2416}#))
+                                                      (syntax-violation
+                                                        'lambda*
+                                                        "invalid keyword 
argument list"
+                                                        #{orig-args 2292}#
+                                                        #{args 
2408}#)))))))))))))))))))))))
+          (#{rest 2301}#
+            (lambda (#{args 2514}#
+                     #{req 2515}#
+                     #{opt 2516}#
+                     #{kw 2517}#)
+              (let ((#{tmp 2522}# #{args 2514}#))
+                (let ((#{tmp 2523}# (list #{tmp 2522}#)))
+                  (if (if #{tmp 2523}#
+                        (@apply
+                          (lambda (#{r 2525}#) (#{id? 343}# #{r 2525}#))
+                          #{tmp 2523}#)
+                        #f)
+                    (@apply
+                      (lambda (#{r 2527}#)
+                        (#{check 2303}#
+                          #{req 2515}#
+                          #{opt 2516}#
+                          #{r 2527}#
+                          #{kw 2517}#))
+                      #{tmp 2523}#)
+                    (let ((#{else 2529}# #{tmp 2522}#))
+                      (syntax-violation
+                        'lambda*
+                        "invalid rest argument"
+                        #{orig-args 2292}#
+                        #{args 2514}#)))))))
+          (#{check 2303}#
+            (lambda (#{req 2530}#
+                     #{opt 2531}#
+                     #{rest 2532}#
+                     #{kw 2533}#)
+              (if (#{distinct-bound-ids? 405}#
+                    (append
+                      #{req 2530}#
+                      (map car #{opt 2531}#)
+                      (if #{rest 2532}# (list #{rest 2532}#) '())
+                      (if (pair? #{kw 2533}#)
+                        (map cadr (cdr #{kw 2533}#))
+                        '())))
+                (values
+                  #{req 2530}#
+                  #{opt 2531}#
+                  #{rest 2532}#
+                  #{kw 2533}#)
+                (syntax-violation
+                  'lambda*
+                  "duplicate identifier in argument list"
+                  #{orig-args 2292}#)))))
+         (#{req 2295}# #{orig-args 2292}# '()))))
+   (#{chi-lambda-case 447}#
+     (lambda (#{e 2541}#
+              #{r 2542}#
+              #{w 2543}#
+              #{s 2544}#
+              #{mod 2545}#
+              #{get-formals 2546}#
+              #{clauses 2547}#)
+       (letrec*
+         ((#{expand-req 2556}#
+            (lambda (#{req 2563}#
+                     #{opt 2564}#
+                     #{rest 2565}#
+                     #{kw 2566}#
+                     #{body 2567}#)
+              (let ((#{vars 2575}#
+                      (map #{gen-var 451}# #{req 2563}#))
+                    (#{labels 2576}#
+                      (#{gen-labels 358}# #{req 2563}#)))
+                (let ((#{r* 2579}#
+                        (#{extend-var-env 333}#
+                          #{labels 2576}#
+                          #{vars 2575}#
+                          #{r 2542}#))
+                      (#{w* 2580}#
+                        (#{make-binding-wrap 387}#
+                          #{req 2563}#
+                          #{labels 2576}#
+                          #{w 2543}#)))
+                  (#{expand-opt 2558}#
+                    (map syntax->datum #{req 2563}#)
+                    #{opt 2564}#
+                    #{rest 2565}#
+                    #{kw 2566}#
+                    #{body 2567}#
+                    (reverse #{vars 2575}#)
+                    #{r* 2579}#
+                    #{w* 2580}#
+                    '()
+                    '())))))
+          (#{expand-opt 2558}#
+            (lambda (#{req 2581}#
+                     #{opt 2582}#
+                     #{rest 2583}#
+                     #{kw 2584}#
+                     #{body 2585}#
+                     #{vars 2586}#
+                     #{r* 2587}#
+                     #{w* 2588}#
+                     #{out 2589}#
+                     #{inits 2590}#)
+              (if (pair? #{opt 2582}#)
+                (let ((#{tmp 2603}# (car #{opt 2582}#)))
+                  (let ((#{tmp 2604}#
+                          ($sc-dispatch #{tmp 2603}# '(any any))))
+                    (if #{tmp 2604}#
+                      (@apply
+                        (lambda (#{id 2607}# #{i 2608}#)
+                          (let ((#{v 2611}# (#{gen-var 451}# #{id 2607}#)))
+                            (let ((#{l 2613}#
+                                    (#{gen-labels 358}# (list #{v 2611}#))))
+                              (let ((#{r** 2615}#
+                                      (#{extend-var-env 333}#
+                                        #{l 2613}#
+                                        (list #{v 2611}#)
+                                        #{r* 2587}#)))
+                                (let ((#{w** 2617}#
+                                        (#{make-binding-wrap 387}#
+                                          (list #{id 2607}#)
+                                          #{l 2613}#
+                                          #{w* 2588}#)))
+                                  (#{expand-opt 2558}#
+                                    #{req 2581}#
+                                    (cdr #{opt 2582}#)
+                                    #{rest 2583}#
+                                    #{kw 2584}#
+                                    #{body 2585}#
+                                    (cons #{v 2611}# #{vars 2586}#)
+                                    #{r** 2615}#
+                                    #{w** 2617}#
+                                    (cons (syntax->datum #{id 2607}#)
+                                          #{out 2589}#)
+                                    (cons (#{chi 423}#
+                                            #{i 2608}#
+                                            #{r* 2587}#
+                                            #{w* 2588}#
+                                            #{mod 2545}#)
+                                          #{inits 2590}#)))))))
+                        #{tmp 2604}#)
+                      (syntax-violation
+                        #f
+                        "source expression failed to match any pattern"
+                        #{tmp 2603}#))))
+                (if #{rest 2583}#
+                  (let ((#{v 2622}# (#{gen-var 451}# #{rest 2583}#)))
+                    (let ((#{l 2624}#
+                            (#{gen-labels 358}# (list #{v 2622}#))))
+                      (let ((#{r* 2626}#
+                              (#{extend-var-env 333}#
+                                #{l 2624}#
+                                (list #{v 2622}#)
+                                #{r* 2587}#)))
+                        (let ((#{w* 2628}#
+                                (#{make-binding-wrap 387}#
+                                  (list #{rest 2583}#)
+                                  #{l 2624}#
+                                  #{w* 2588}#)))
+                          (#{expand-kw 2560}#
+                            #{req 2581}#
+                            (if (pair? #{out 2589}#)
+                              (reverse #{out 2589}#)
+                              #f)
+                            (syntax->datum #{rest 2583}#)
+                            (if (pair? #{kw 2584}#)
+                              (cdr #{kw 2584}#)
+                              #{kw 2584}#)
+                            #{body 2585}#
+                            (cons #{v 2622}# #{vars 2586}#)
+                            #{r* 2626}#
+                            #{w* 2628}#
+                            (if (pair? #{kw 2584}#) (car #{kw 2584}#) #f)
+                            '()
+                            #{inits 2590}#)))))
+                  (#{expand-kw 2560}#
+                    #{req 2581}#
+                    (if (pair? #{out 2589}#)
+                      (reverse #{out 2589}#)
+                      #f)
+                    #f
+                    (if (pair? #{kw 2584}#)
+                      (cdr #{kw 2584}#)
+                      #{kw 2584}#)
+                    #{body 2585}#
+                    #{vars 2586}#
+                    #{r* 2587}#
+                    #{w* 2588}#
+                    (if (pair? #{kw 2584}#) (car #{kw 2584}#) #f)
+                    '()
+                    #{inits 2590}#)))))
+          (#{expand-kw 2560}#
+            (lambda (#{req 2630}#
+                     #{opt 2631}#
+                     #{rest 2632}#
+                     #{kw 2633}#
+                     #{body 2634}#
+                     #{vars 2635}#
+                     #{r* 2636}#
+                     #{w* 2637}#
+                     #{aok 2638}#
+                     #{out 2639}#
+                     #{inits 2640}#)
+              (if (pair? #{kw 2633}#)
+                (let ((#{tmp 2654}# (car #{kw 2633}#)))
+                  (let ((#{tmp 2655}#
+                          ($sc-dispatch #{tmp 2654}# '(any any any))))
+                    (if #{tmp 2655}#
+                      (@apply
+                        (lambda (#{k 2659}# #{id 2660}# #{i 2661}#)
+                          (let ((#{v 2664}# (#{gen-var 451}# #{id 2660}#)))
+                            (let ((#{l 2666}#
+                                    (#{gen-labels 358}# (list #{v 2664}#))))
+                              (let ((#{r** 2668}#
+                                      (#{extend-var-env 333}#
+                                        #{l 2666}#
+                                        (list #{v 2664}#)
+                                        #{r* 2636}#)))
+                                (let ((#{w** 2670}#
+                                        (#{make-binding-wrap 387}#
+                                          (list #{id 2660}#)
+                                          #{l 2666}#
+                                          #{w* 2637}#)))
+                                  (#{expand-kw 2560}#
+                                    #{req 2630}#
+                                    #{opt 2631}#
+                                    #{rest 2632}#
+                                    (cdr #{kw 2633}#)
+                                    #{body 2634}#
+                                    (cons #{v 2664}# #{vars 2635}#)
+                                    #{r** 2668}#
+                                    #{w** 2670}#
+                                    #{aok 2638}#
+                                    (cons (list (syntax->datum #{k 2659}#)
+                                                (syntax->datum #{id 2660}#)
+                                                #{v 2664}#)
+                                          #{out 2639}#)
+                                    (cons (#{chi 423}#
+                                            #{i 2661}#
+                                            #{r* 2636}#
+                                            #{w* 2637}#
+                                            #{mod 2545}#)
+                                          #{inits 2640}#)))))))
+                        #{tmp 2655}#)
+                      (syntax-violation
+                        #f
+                        "source expression failed to match any pattern"
+                        #{tmp 2654}#))))
+                (#{expand-body 2562}#
+                  #{req 2630}#
+                  #{opt 2631}#
+                  #{rest 2632}#
+                  (if (let ((#{t 2674}# #{aok 2638}#))
+                        (if #{t 2674}# #{t 2674}# (pair? #{out 2639}#)))
+                    (cons #{aok 2638}# (reverse #{out 2639}#))
+                    #f)
+                  #{body 2634}#
+                  (reverse #{vars 2635}#)
+                  #{r* 2636}#
+                  #{w* 2637}#
+                  (reverse #{inits 2640}#)
+                  '()))))
+          (#{expand-body 2562}#
+            (lambda (#{req 2676}#
+                     #{opt 2677}#
+                     #{rest 2678}#
+                     #{kw 2679}#
+                     #{body 2680}#
+                     #{vars 2681}#
+                     #{r* 2682}#
+                     #{w* 2683}#
+                     #{inits 2684}#
+                     #{meta 2685}#)
+              (let ((#{tmp 2696}# #{body 2680}#))
+                (let ((#{tmp 2697}#
+                        ($sc-dispatch #{tmp 2696}# '(any any . each-any))))
+                  (if (if #{tmp 2697}#
+                        (@apply
+                          (lambda (#{docstring 2701}# #{e1 2702}# #{e2 2703}#)
+                            (string? (syntax->datum #{docstring 2701}#)))
+                          #{tmp 2697}#)
+                        #f)
+                    (@apply
+                      (lambda (#{docstring 2707}# #{e1 2708}# #{e2 2709}#)
+                        (#{expand-body 2562}#
+                          #{req 2676}#
+                          #{opt 2677}#
+                          #{rest 2678}#
+                          #{kw 2679}#
+                          (cons #{e1 2708}# #{e2 2709}#)
+                          #{vars 2681}#
+                          #{r* 2682}#
+                          #{w* 2683}#
+                          #{inits 2684}#
+                          (append
+                            #{meta 2685}#
+                            (list (cons 'documentation
+                                        (syntax->datum #{docstring 2707}#))))))
+                      #{tmp 2697}#)
+                    (let ((#{tmp 2712}#
+                            ($sc-dispatch
+                              #{tmp 2696}#
+                              '(#(vector #(each (any . any)))
+                                any
+                                .
+                                each-any))))
+                      (if #{tmp 2712}#
+                        (@apply
+                          (lambda (#{k 2717}#
+                                   #{v 2718}#
+                                   #{e1 2719}#
+                                   #{e2 2720}#)
+                            (#{expand-body 2562}#
+                              #{req 2676}#
+                              #{opt 2677}#
+                              #{rest 2678}#
+                              #{kw 2679}#
+                              (cons #{e1 2719}# #{e2 2720}#)
+                              #{vars 2681}#
+                              #{r* 2682}#
+                              #{w* 2683}#
+                              #{inits 2684}#
+                              (append
+                                #{meta 2685}#
+                                (syntax->datum
+                                  (map cons #{k 2717}# #{v 2718}#)))))
+                          #{tmp 2712}#)
+                        (let ((#{tmp 2724}#
+                                ($sc-dispatch #{tmp 2696}# '(any . each-any))))
+                          (if #{tmp 2724}#
+                            (@apply
+                              (lambda (#{e1 2727}# #{e2 2728}#)
+                                (values
+                                  #{meta 2685}#
+                                  #{req 2676}#
+                                  #{opt 2677}#
+                                  #{rest 2678}#
+                                  #{kw 2679}#
+                                  #{inits 2684}#
+                                  #{vars 2681}#
+                                  (#{chi-body 431}#
+                                    (cons #{e1 2727}# #{e2 2728}#)
+                                    (#{source-wrap 411}#
+                                      #{e 2541}#
+                                      #{w 2543}#
+                                      #{s 2544}#
+                                      #{mod 2545}#)
+                                    #{r* 2682}#
+                                    #{w* 2683}#
+                                    #{mod 2545}#)))
+                              #{tmp 2724}#)
+                            (syntax-violation
+                              #f
+                              "source expression failed to match any pattern"
+                              #{tmp 2696}#)))))))))))
+         (let ((#{tmp 2730}# #{clauses 2547}#))
+           (let ((#{tmp 2731}# ($sc-dispatch #{tmp 2730}# '())))
+             (if #{tmp 2731}#
+               (@apply (lambda () (values '() #f)) #{tmp 2731}#)
+               (let ((#{tmp 2732}#
+                       ($sc-dispatch
+                         #{tmp 2730}#
+                         '((any any . each-any)
+                           .
+                           #(each (any any . each-any))))))
+                 (if #{tmp 2732}#
+                   (@apply
+                     (lambda (#{args 2739}#
+                              #{e1 2740}#
+                              #{e2 2741}#
+                              #{args* 2742}#
+                              #{e1* 2743}#
+                              #{e2* 2744}#)
+                       (call-with-values
+                         (lambda () (#{get-formals 2546}# #{args 2739}#))
+                         (lambda (#{req 2745}#
+                                  #{opt 2746}#
+                                  #{rest 2747}#
+                                  #{kw 2748}#)
+                           (call-with-values
+                             (lambda ()
+                               (#{expand-req 2556}#
+                                 #{req 2745}#
+                                 #{opt 2746}#
+                                 #{rest 2747}#
+                                 #{kw 2748}#
+                                 (cons #{e1 2740}# #{e2 2741}#)))
+                             (lambda (#{meta 2754}#
+                                      #{req 2755}#
+                                      #{opt 2756}#
+                                      #{rest 2757}#
+                                      #{kw 2758}#
+                                      #{inits 2759}#
+                                      #{vars 2760}#
+                                      #{body 2761}#)
+                               (call-with-values
+                                 (lambda ()
+                                   (#{chi-lambda-case 447}#
+                                     #{e 2541}#
+                                     #{r 2542}#
+                                     #{w 2543}#
+                                     #{s 2544}#
+                                     #{mod 2545}#
+                                     #{get-formals 2546}#
+                                     (map (lambda (#{tmp 2772}#
+                                                   #{tmp 2771}#
+                                                   #{tmp 2770}#)
+                                            (cons #{tmp 2770}#
+                                                  (cons #{tmp 2771}#
+                                                        #{tmp 2772}#)))
+                                          #{e2* 2744}#
+                                          #{e1* 2743}#
+                                          #{args* 2742}#)))
+                                 (lambda (#{meta* 2774}# #{else* 2775}#)
+                                   (values
+                                     (append #{meta 2754}# #{meta* 2774}#)
+                                     (#{build-lambda-case 289}#
+                                       #{s 2544}#
+                                       #{req 2755}#
+                                       #{opt 2756}#
+                                       #{rest 2757}#
+                                       #{kw 2758}#
+                                       #{inits 2759}#
+                                       #{vars 2760}#
+                                       #{body 2761}#
+                                       #{else* 2775}#)))))))))
+                     #{tmp 2732}#)
+                   (syntax-violation
+                     #f
+                     "source expression failed to match any pattern"
+                     #{tmp 2730}#)))))))))
+   (#{strip 449}#
+     (lambda (#{x 2778}# #{w 2779}#)
+       (if (memq 'top (car #{w 2779}#))
+         #{x 2778}#
+         (letrec*
+           ((#{f 2786}#
+              (lambda (#{x 2787}#)
+                (if (#{syntax-object? 309}# #{x 2787}#)
+                  (#{strip 449}#
+                    (#{syntax-object-expression 311}# #{x 2787}#)
+                    (#{syntax-object-wrap 313}# #{x 2787}#))
+                  (if (pair? #{x 2787}#)
+                    (let ((#{a 2794}# (#{f 2786}# (car #{x 2787}#)))
+                          (#{d 2795}# (#{f 2786}# (cdr #{x 2787}#))))
+                      (if (if (eq? #{a 2794}# (car #{x 2787}#))
+                            (eq? #{d 2795}# (cdr #{x 2787}#))
+                            #f)
+                        #{x 2787}#
+                        (cons #{a 2794}# #{d 2795}#)))
+                    (if (vector? #{x 2787}#)
+                      (let ((#{old 2801}# (vector->list #{x 2787}#)))
+                        (let ((#{new 2803}# (map #{f 2786}# #{old 2801}#)))
+                          (letrec*
+                            ((#{lp 2807}#
+                               (lambda (#{l1 2808}# #{l2 2809}#)
+                                 (if (null? #{l1 2808}#)
+                                   #{x 2787}#
+                                   (if (eq? (car #{l1 2808}#)
+                                            (car #{l2 2809}#))
+                                     (#{lp 2807}#
+                                       (cdr #{l1 2808}#)
+                                       (cdr #{l2 2809}#))
+                                     (list->vector #{new 2803}#))))))
+                            (#{lp 2807}# #{old 2801}# #{new 2803}#))))
+                      #{x 2787}#))))))
+           (#{f 2786}# #{x 2778}#)))))
+   (#{gen-var 451}#
+     (lambda (#{id 2811}#)
+       (let ((#{id 2814}#
+               (if (#{syntax-object? 309}# #{id 2811}#)
+                 (#{syntax-object-expression 311}# #{id 2811}#)
+                 #{id 2811}#)))
+         (gensym
+           (string-append (symbol->string #{id 2814}#) " ")))))
+   (#{lambda-var-list 453}#
+     (lambda (#{vars 2816}#)
+       (letrec*
+         ((#{lvl 2822}#
+            (lambda (#{vars 2823}# #{ls 2824}# #{w 2825}#)
+              (if (pair? #{vars 2823}#)
+                (#{lvl 2822}#
+                  (cdr #{vars 2823}#)
+                  (cons (#{wrap 409}# (car #{vars 2823}#) #{w 2825}# #f)
+                        #{ls 2824}#)
+                  #{w 2825}#)
+                (if (#{id? 343}# #{vars 2823}#)
+                  (cons (#{wrap 409}# #{vars 2823}# #{w 2825}# #f)
+                        #{ls 2824}#)
+                  (if (null? #{vars 2823}#)
+                    #{ls 2824}#
+                    (if (#{syntax-object? 309}# #{vars 2823}#)
+                      (#{lvl 2822}#
+                        (#{syntax-object-expression 311}# #{vars 2823}#)
+                        #{ls 2824}#
+                        (#{join-wraps 391}#
+                          #{w 2825}#
+                          (#{syntax-object-wrap 313}# #{vars 2823}#)))
+                      (cons #{vars 2823}# #{ls 2824}#))))))))
+         (#{lvl 2822}# #{vars 2816}# '() '(()))))))
+  (begin
+    (lambda (#{x 1163}# #{update 1164}#)
+      (vector-set! #{x 1163}# 1 #{update 1164}#))
+    (lambda (#{x 1167}# #{update 1168}#)
+      (vector-set! #{x 1167}# 2 #{update 1168}#))
+    (lambda (#{x 1171}# #{update 1172}#)
+      (vector-set! #{x 1171}# 3 #{update 1172}#))
+    (lambda (#{x 1252}#)
+      (if (vector? #{x 1252}#)
+        (if (= (vector-length #{x 1252}#) 4)
+          (eq? (vector-ref #{x 1252}# 0) 'ribcage)
+          #f)
+        #f))
+    (#{global-extend 339}#
+      'local-syntax
+      'letrec-syntax
+      #t)
+    (#{global-extend 339}#
+      'local-syntax
+      'let-syntax
+      #f)
+    (#{global-extend 339}#
+      'core
+      'fluid-let-syntax
+      (lambda (#{e 2836}#
+               #{r 2837}#
+               #{w 2838}#
+               #{s 2839}#
+               #{mod 2840}#)
+        (let ((#{tmp 2846}# #{e 2836}#))
+          (let ((#{tmp 2847}#
+                  ($sc-dispatch
+                    #{tmp 2846}#
+                    '(_ #(each (any any)) any . each-any))))
+            (if (if #{tmp 2847}#
+                  (@apply
+                    (lambda (#{var 2852}#
+                             #{val 2853}#
+                             #{e1 2854}#
+                             #{e2 2855}#)
+                      (#{valid-bound-ids? 403}# #{var 2852}#))
+                    #{tmp 2847}#)
+                  #f)
+              (@apply
+                (lambda (#{var 2861}#
+                         #{val 2862}#
+                         #{e1 2863}#
+                         #{e2 2864}#)
+                  (let ((#{names 2866}#
+                          (map (lambda (#{x 2867}#)
+                                 (#{id-var-name 397}# #{x 2867}# #{w 2838}#))
+                               #{var 2861}#)))
+                    (begin
+                      (for-each
+                        (lambda (#{id 2870}# #{n 2871}#)
+                          (let ((#{atom-key 2876}#
+                                  (car (#{lookup 337}#
+                                         #{n 2871}#
+                                         #{r 2837}#
+                                         #{mod 2840}#))))
+                            (if (memv #{atom-key 2876}# '(displaced-lexical))
+                              (syntax-violation
+                                'fluid-let-syntax
+                                "identifier out of context"
+                                #{e 2836}#
+                                (#{source-wrap 411}#
+                                  #{id 2870}#
+                                  #{w 2838}#
+                                  #{s 2839}#
+                                  #{mod 2840}#)))))
+                        #{var 2861}#
+                        #{names 2866}#)
+                      (#{chi-body 431}#
+                        (cons #{e1 2863}# #{e2 2864}#)
+                        (#{source-wrap 411}#
+                          #{e 2836}#
+                          #{w 2838}#
+                          #{s 2839}#
+                          #{mod 2840}#)
+                        (#{extend-env 331}#
+                          #{names 2866}#
+                          (let ((#{trans-r 2882}#
+                                  (#{macros-only-env 335}# #{r 2837}#)))
+                            (map (lambda (#{x 2883}#)
+                                   (cons 'macro
+                                         (#{eval-local-transformer 435}#
+                                           (#{chi 423}#
+                                             #{x 2883}#
+                                             #{trans-r 2882}#
+                                             #{w 2838}#
+                                             #{mod 2840}#)
+                                           #{mod 2840}#)))
+                                 #{val 2862}#))
+                          #{r 2837}#)
+                        #{w 2838}#
+                        #{mod 2840}#))))
+                #{tmp 2847}#)
+              (let ((#{_ 2888}# #{tmp 2846}#))
+                (syntax-violation
+                  'fluid-let-syntax
+                  "bad syntax"
+                  (#{source-wrap 411}#
+                    #{e 2836}#
+                    #{w 2838}#
+                    #{s 2839}#
+                    #{mod 2840}#))))))))
+    (#{global-extend 339}#
+      'core
+      'quote
+      (lambda (#{e 2889}#
+               #{r 2890}#
+               #{w 2891}#
+               #{s 2892}#
+               #{mod 2893}#)
+        (let ((#{tmp 2899}# #{e 2889}#))
+          (let ((#{tmp 2900}#
+                  ($sc-dispatch #{tmp 2899}# '(_ any))))
+            (if #{tmp 2900}#
+              (@apply
+                (lambda (#{e 2902}#)
+                  (#{build-data 295}#
+                    #{s 2892}#
+                    (#{strip 449}# #{e 2902}# #{w 2891}#)))
+                #{tmp 2900}#)
+              (let ((#{_ 2904}# #{tmp 2899}#))
+                (syntax-violation
+                  'quote
+                  "bad syntax"
+                  (#{source-wrap 411}#
+                    #{e 2889}#
+                    #{w 2891}#
+                    #{s 2892}#
+                    #{mod 2893}#))))))))
+    (#{global-extend 339}#
+      'core
+      'syntax
+      (letrec*
+        ((#{gen-syntax 2906}#
+           (lambda (#{src 2921}#
+                    #{e 2922}#
+                    #{r 2923}#
+                    #{maps 2924}#
+                    #{ellipsis? 2925}#
+                    #{mod 2926}#)
+             (if (#{id? 343}# #{e 2922}#)
+               (let ((#{label 2934}#
+                       (#{id-var-name 397}# #{e 2922}# '(()))))
+                 (let ((#{b 2937}#
+                         (#{lookup 337}#
+                           #{label 2934}#
+                           #{r 2923}#
+                           #{mod 2926}#)))
+                   (if (eq? (car #{b 2937}#) 'syntax)
+                     (call-with-values
+                       (lambda ()
+                         (let ((#{var.lev 2940}# (cdr #{b 2937}#)))
+                           (#{gen-ref 2908}#
+                             #{src 2921}#
+                             (car #{var.lev 2940}#)
+                             (cdr #{var.lev 2940}#)
+                             #{maps 2924}#)))
+                       (lambda (#{var 2942}# #{maps 2943}#)
+                         (values (list 'ref #{var 2942}#) #{maps 2943}#)))
+                     (if (#{ellipsis? 2925}# #{e 2922}#)
+                       (syntax-violation
+                         'syntax
+                         "misplaced ellipsis"
+                         #{src 2921}#)
+                       (values (list 'quote #{e 2922}#) #{maps 2924}#)))))
+               (let ((#{tmp 2948}# #{e 2922}#))
+                 (let ((#{tmp 2949}#
+                         ($sc-dispatch #{tmp 2948}# '(any any))))
+                   (if (if #{tmp 2949}#
+                         (@apply
+                           (lambda (#{dots 2952}# #{e 2953}#)
+                             (#{ellipsis? 2925}# #{dots 2952}#))
+                           #{tmp 2949}#)
+                         #f)
+                     (@apply
+                       (lambda (#{dots 2956}# #{e 2957}#)
+                         (#{gen-syntax 2906}#
+                           #{src 2921}#
+                           #{e 2957}#
+                           #{r 2923}#
+                           #{maps 2924}#
+                           (lambda (#{x 2958}#) #f)
+                           #{mod 2926}#))
+                       #{tmp 2949}#)
+                     (let ((#{tmp 2960}#
+                             ($sc-dispatch #{tmp 2948}# '(any any . any))))
+                       (if (if #{tmp 2960}#
+                             (@apply
+                               (lambda (#{x 2964}# #{dots 2965}# #{y 2966}#)
+                                 (#{ellipsis? 2925}# #{dots 2965}#))
+                               #{tmp 2960}#)
+                             #f)
+                         (@apply
+                           (lambda (#{x 2970}# #{dots 2971}# #{y 2972}#)
+                             (letrec*
+                               ((#{f 2976}#
+                                  (lambda (#{y 2977}# #{k 2978}#)
+                                    (let ((#{tmp 2985}# #{y 2977}#))
+                                      (let ((#{tmp 2986}#
+                                              ($sc-dispatch
+                                                #{tmp 2985}#
+                                                '(any . any))))
+                                        (if (if #{tmp 2986}#
+                                              (@apply
+                                                (lambda (#{dots 2989}#
+                                                         #{y 2990}#)
+                                                  (#{ellipsis? 2925}#
+                                                    #{dots 2989}#))
+                                                #{tmp 2986}#)
+                                              #f)
+                                          (@apply
+                                            (lambda (#{dots 2993}# #{y 2994}#)
+                                              (#{f 2976}#
+                                                #{y 2994}#
+                                                (lambda (#{maps 2995}#)
+                                                  (call-with-values
+                                                    (lambda ()
+                                                      (#{k 2978}#
+                                                        (cons '()
+                                                              #{maps 2995}#)))
+                                                    (lambda (#{x 2997}#
+                                                             #{maps 2998}#)
+                                                      (if (null? (car #{maps 
2998}#))
+                                                        (syntax-violation
+                                                          'syntax
+                                                          "extra ellipsis"
+                                                          #{src 2921}#)
+                                                        (values
+                                                          (#{gen-mappend 2910}#
+                                                            #{x 2997}#
+                                                            (car #{maps 
2998}#))
+                                                          (cdr #{maps 
2998}#))))))))
+                                            #{tmp 2986}#)
+                                          (let ((#{_ 3002}# #{tmp 2985}#))
+                                            (call-with-values
+                                              (lambda ()
+                                                (#{gen-syntax 2906}#
+                                                  #{src 2921}#
+                                                  #{y 2977}#
+                                                  #{r 2923}#
+                                                  #{maps 2924}#
+                                                  #{ellipsis? 2925}#
+                                                  #{mod 2926}#))
+                                              (lambda (#{y 3003}#
+                                                       #{maps 3004}#)
+                                                (call-with-values
+                                                  (lambda ()
+                                                    (#{k 2978}# #{maps 3004}#))
+                                                  (lambda (#{x 3007}#
+                                                           #{maps 3008}#)
+                                                    (values
+                                                      (#{gen-append 2916}#
+                                                        #{x 3007}#
+                                                        #{y 3003}#)
+                                                      #{maps 3008}#))))))))))))
+                               (#{f 2976}#
+                                 #{y 2972}#
+                                 (lambda (#{maps 2979}#)
+                                   (call-with-values
+                                     (lambda ()
+                                       (#{gen-syntax 2906}#
+                                         #{src 2921}#
+                                         #{x 2970}#
+                                         #{r 2923}#
+                                         (cons '() #{maps 2979}#)
+                                         #{ellipsis? 2925}#
+                                         #{mod 2926}#))
+                                     (lambda (#{x 2981}# #{maps 2982}#)
+                                       (if (null? (car #{maps 2982}#))
+                                         (syntax-violation
+                                           'syntax
+                                           "extra ellipsis"
+                                           #{src 2921}#)
+                                         (values
+                                           (#{gen-map 2912}#
+                                             #{x 2981}#
+                                             (car #{maps 2982}#))
+                                           (cdr #{maps 2982}#)))))))))
+                           #{tmp 2960}#)
+                         (let ((#{tmp 3011}#
+                                 ($sc-dispatch #{tmp 2948}# '(any . any))))
+                           (if #{tmp 3011}#
+                             (@apply
+                               (lambda (#{x 3014}# #{y 3015}#)
+                                 (call-with-values
+                                   (lambda ()
+                                     (#{gen-syntax 2906}#
+                                       #{src 2921}#
+                                       #{x 3014}#
+                                       #{r 2923}#
+                                       #{maps 2924}#
+                                       #{ellipsis? 2925}#
+                                       #{mod 2926}#))
+                                   (lambda (#{x 3016}# #{maps 3017}#)
+                                     (call-with-values
+                                       (lambda ()
+                                         (#{gen-syntax 2906}#
+                                           #{src 2921}#
+                                           #{y 3015}#
+                                           #{r 2923}#
+                                           #{maps 3017}#
+                                           #{ellipsis? 2925}#
+                                           #{mod 2926}#))
+                                       (lambda (#{y 3020}# #{maps 3021}#)
+                                         (values
+                                           (#{gen-cons 2914}#
+                                             #{x 3016}#
+                                             #{y 3020}#)
+                                           #{maps 3021}#))))))
+                               #{tmp 3011}#)
+                             (let ((#{tmp 3024}#
+                                     ($sc-dispatch
+                                       #{tmp 2948}#
+                                       '#(vector (any . each-any)))))
+                               (if #{tmp 3024}#
+                                 (@apply
+                                   (lambda (#{e1 3027}# #{e2 3028}#)
+                                     (call-with-values
+                                       (lambda ()
+                                         (#{gen-syntax 2906}#
+                                           #{src 2921}#
+                                           (cons #{e1 3027}# #{e2 3028}#)
+                                           #{r 2923}#
+                                           #{maps 2924}#
+                                           #{ellipsis? 2925}#
+                                           #{mod 2926}#))
+                                       (lambda (#{e 3030}# #{maps 3031}#)
+                                         (values
+                                           (#{gen-vector 2918}# #{e 3030}#)
+                                           #{maps 3031}#))))
+                                   #{tmp 3024}#)
+                                 (let ((#{_ 3035}# #{tmp 2948}#))
+                                   (values
+                                     (list 'quote #{e 2922}#)
+                                     #{maps 2924}#))))))))))))))
+         (#{gen-ref 2908}#
+           (lambda (#{src 3037}#
+                    #{var 3038}#
+                    #{level 3039}#
+                    #{maps 3040}#)
+             (if (= #{level 3039}# 0)
+               (values #{var 3038}# #{maps 3040}#)
+               (if (null? #{maps 3040}#)
+                 (syntax-violation
+                   'syntax
+                   "missing ellipsis"
+                   #{src 3037}#)
+                 (call-with-values
+                   (lambda ()
+                     (#{gen-ref 2908}#
+                       #{src 3037}#
+                       #{var 3038}#
+                       (#{1-}# #{level 3039}#)
+                       (cdr #{maps 3040}#)))
+                   (lambda (#{outer-var 3047}# #{outer-maps 3048}#)
+                     (let ((#{b 3052}#
+                             (assq #{outer-var 3047}# (car #{maps 3040}#))))
+                       (if #{b 3052}#
+                         (values (cdr #{b 3052}#) #{maps 3040}#)
+                         (let ((#{inner-var 3054}# (#{gen-var 451}# 'tmp)))
+                           (values
+                             #{inner-var 3054}#
+                             (cons (cons (cons #{outer-var 3047}#
+                                               #{inner-var 3054}#)
+                                         (car #{maps 3040}#))
+                                   #{outer-maps 3048}#)))))))))))
+         (#{gen-mappend 2910}#
+           (lambda (#{e 3055}# #{map-env 3056}#)
+             (list 'apply
+                   '(primitive append)
+                   (#{gen-map 2912}# #{e 3055}# #{map-env 3056}#))))
+         (#{gen-map 2912}#
+           (lambda (#{e 3060}# #{map-env 3061}#)
+             (let ((#{formals 3066}# (map cdr #{map-env 3061}#))
+                   (#{actuals 3067}#
+                     (map (lambda (#{x 3068}#)
+                            (list 'ref (car #{x 3068}#)))
+                          #{map-env 3061}#)))
+               (if (eq? (car #{e 3060}#) 'ref)
+                 (car #{actuals 3067}#)
+                 (if (and-map
+                       (lambda (#{x 3075}#)
+                         (if (eq? (car #{x 3075}#) 'ref)
+                           (memq (car (cdr #{x 3075}#)) #{formals 3066}#)
+                           #f))
+                       (cdr #{e 3060}#))
+                   (cons 'map
+                         (cons (list 'primitive (car #{e 3060}#))
+                               (map (let ((#{r 3081}#
+                                            (map cons
+                                                 #{formals 3066}#
+                                                 #{actuals 3067}#)))
+                                      (lambda (#{x 3082}#)
+                                        (cdr (assq (car (cdr #{x 3082}#))
+                                                   #{r 3081}#))))
+                                    (cdr #{e 3060}#))))
+                   (cons 'map
+                         (cons (list 'lambda #{formals 3066}# #{e 3060}#)
+                               #{actuals 3067}#)))))))
+         (#{gen-cons 2914}#
+           (lambda (#{x 3086}# #{y 3087}#)
+             (let ((#{atom-key 3092}# (car #{y 3087}#)))
+               (if (memv #{atom-key 3092}# '(quote))
+                 (if (eq? (car #{x 3086}#) 'quote)
+                   (list 'quote
+                         (cons (car (cdr #{x 3086}#))
+                               (car (cdr #{y 3087}#))))
+                   (if (eq? (car (cdr #{y 3087}#)) '())
+                     (list 'list #{x 3086}#)
+                     (list 'cons #{x 3086}# #{y 3087}#)))
+                 (if (memv #{atom-key 3092}# '(list))
+                   (cons 'list (cons #{x 3086}# (cdr #{y 3087}#)))
+                   (list 'cons #{x 3086}# #{y 3087}#))))))
+         (#{gen-append 2916}#
+           (lambda (#{x 3101}# #{y 3102}#)
+             (if (equal? #{y 3102}# ''())
+               #{x 3101}#
+               (list 'append #{x 3101}# #{y 3102}#))))
+         (#{gen-vector 2918}#
+           (lambda (#{x 3106}#)
+             (if (eq? (car #{x 3106}#) 'list)
+               (cons 'vector (cdr #{x 3106}#))
+               (if (eq? (car #{x 3106}#) 'quote)
+                 (list 'quote
+                       (list->vector (car (cdr #{x 3106}#))))
+                 (list 'list->vector #{x 3106}#)))))
+         (#{regen 2920}#
+           (lambda (#{x 3116}#)
+             (let ((#{atom-key 3120}# (car #{x 3116}#)))
+               (if (memv #{atom-key 3120}# '(ref))
+                 (#{build-lexical-reference 273}#
+                   'value
+                   #f
+                   (car (cdr #{x 3116}#))
+                   (car (cdr #{x 3116}#)))
+                 (if (memv #{atom-key 3120}# '(primitive))
+                   (#{build-primref 293}# #f (car (cdr #{x 3116}#)))
+                   (if (memv #{atom-key 3120}# '(quote))
+                     (#{build-data 295}# #f (car (cdr #{x 3116}#)))
+                     (if (memv #{atom-key 3120}# '(lambda))
+                       (if (list? (car (cdr #{x 3116}#)))
+                         (#{build-simple-lambda 285}#
+                           #f
+                           (car (cdr #{x 3116}#))
+                           #f
+                           (car (cdr #{x 3116}#))
+                           '()
+                           (#{regen 2920}# (car (cdr (cdr #{x 3116}#)))))
+                         (error "how did we get here" #{x 3116}#))
+                       (#{build-primcall 291}#
+                         #f
+                         (car #{x 3116}#)
+                         (map #{regen 2920}# (cdr #{x 3116}#)))))))))))
+        (lambda (#{e 3131}#
+                 #{r 3132}#
+                 #{w 3133}#
+                 #{s 3134}#
+                 #{mod 3135}#)
+          (let ((#{e 3142}#
+                  (#{source-wrap 411}#
+                    #{e 3131}#
+                    #{w 3133}#
+                    #{s 3134}#
+                    #{mod 3135}#)))
+            (let ((#{tmp 3143}# #{e 3142}#))
+              (let ((#{tmp 3144}#
+                      ($sc-dispatch #{tmp 3143}# '(_ any))))
+                (if #{tmp 3144}#
+                  (@apply
+                    (lambda (#{x 3146}#)
+                      (call-with-values
+                        (lambda ()
+                          (#{gen-syntax 2906}#
+                            #{e 3142}#
+                            #{x 3146}#
+                            #{r 3132}#
+                            '()
+                            #{ellipsis? 439}#
+                            #{mod 3135}#))
+                        (lambda (#{e 3147}# #{maps 3148}#)
+                          (#{regen 2920}# #{e 3147}#))))
+                    #{tmp 3144}#)
+                  (let ((#{_ 3152}# #{tmp 3143}#))
+                    (syntax-violation
+                      'syntax
+                      "bad `syntax' form"
+                      #{e 3142}#)))))))))
+    (#{global-extend 339}#
+      'core
+      'lambda
+      (lambda (#{e 3153}#
+               #{r 3154}#
+               #{w 3155}#
+               #{s 3156}#
+               #{mod 3157}#)
+        (let ((#{tmp 3163}# #{e 3153}#))
+          (let ((#{tmp 3164}#
+                  ($sc-dispatch
+                    #{tmp 3163}#
+                    '(_ any any . each-any))))
+            (if #{tmp 3164}#
+              (@apply
+                (lambda (#{args 3168}# #{e1 3169}# #{e2 3170}#)
+                  (call-with-values
+                    (lambda ()
+                      (#{lambda-formals 441}# #{args 3168}#))
+                    (lambda (#{req 3171}#
+                             #{opt 3172}#
+                             #{rest 3173}#
+                             #{kw 3174}#)
+                      (letrec*
+                        ((#{lp 3182}#
+                           (lambda (#{body 3183}# #{meta 3184}#)
+                             (let ((#{tmp 3186}# #{body 3183}#))
+                               (let ((#{tmp 3187}#
+                                       ($sc-dispatch
+                                         #{tmp 3186}#
+                                         '(any any . each-any))))
+                                 (if (if #{tmp 3187}#
+                                       (@apply
+                                         (lambda (#{docstring 3191}#
+                                                  #{e1 3192}#
+                                                  #{e2 3193}#)
+                                           (string?
+                                             (syntax->datum
+                                               #{docstring 3191}#)))
+                                         #{tmp 3187}#)
+                                       #f)
+                                   (@apply
+                                     (lambda (#{docstring 3197}#
+                                              #{e1 3198}#
+                                              #{e2 3199}#)
+                                       (#{lp 3182}#
+                                         (cons #{e1 3198}# #{e2 3199}#)
+                                         (append
+                                           #{meta 3184}#
+                                           (list (cons 'documentation
+                                                       (syntax->datum
+                                                         #{docstring 
3197}#))))))
+                                     #{tmp 3187}#)
+                                   (let ((#{tmp 3202}#
+                                           ($sc-dispatch
+                                             #{tmp 3186}#
+                                             '(#(vector #(each (any . any)))
+                                               any
+                                               .
+                                               each-any))))
+                                     (if #{tmp 3202}#
+                                       (@apply
+                                         (lambda (#{k 3207}#
+                                                  #{v 3208}#
+                                                  #{e1 3209}#
+                                                  #{e2 3210}#)
+                                           (#{lp 3182}#
+                                             (cons #{e1 3209}# #{e2 3210}#)
+                                             (append
+                                               #{meta 3184}#
+                                               (syntax->datum
+                                                 (map cons
+                                                      #{k 3207}#
+                                                      #{v 3208}#)))))
+                                         #{tmp 3202}#)
+                                       (let ((#{_ 3215}# #{tmp 3186}#))
+                                         (#{chi-simple-lambda 443}#
+                                           #{e 3153}#
+                                           #{r 3154}#
+                                           #{w 3155}#
+                                           #{s 3156}#
+                                           #{mod 3157}#
+                                           #{req 3171}#
+                                           #{rest 3173}#
+                                           #{meta 3184}#
+                                           #{body 3183}#))))))))))
+                        (#{lp 3182}# (cons #{e1 3169}# #{e2 3170}#) '())))))
+                #{tmp 3164}#)
+              (let ((#{_ 3217}# #{tmp 3163}#))
+                (syntax-violation
+                  'lambda
+                  "bad lambda"
+                  #{e 3153}#)))))))
+    (#{global-extend 339}#
+      'core
+      'lambda*
+      (lambda (#{e 3218}#
+               #{r 3219}#
+               #{w 3220}#
+               #{s 3221}#
+               #{mod 3222}#)
+        (let ((#{tmp 3228}# #{e 3218}#))
+          (let ((#{tmp 3229}#
+                  ($sc-dispatch
+                    #{tmp 3228}#
+                    '(_ any any . each-any))))
+            (if #{tmp 3229}#
+              (@apply
+                (lambda (#{args 3233}# #{e1 3234}# #{e2 3235}#)
+                  (call-with-values
+                    (lambda ()
+                      (#{chi-lambda-case 447}#
+                        #{e 3218}#
+                        #{r 3219}#
+                        #{w 3220}#
+                        #{s 3221}#
+                        #{mod 3222}#
+                        #{lambda*-formals 445}#
+                        (list (cons #{args 3233}#
+                                    (cons #{e1 3234}# #{e2 3235}#)))))
+                    (lambda (#{meta 3237}# #{lcase 3238}#)
+                      (#{build-case-lambda 287}#
+                        #{s 3221}#
+                        #{meta 3237}#
+                        #{lcase 3238}#))))
+                #{tmp 3229}#)
+              (let ((#{_ 3242}# #{tmp 3228}#))
+                (syntax-violation
+                  'lambda
+                  "bad lambda*"
+                  #{e 3218}#)))))))
+    (#{global-extend 339}#
+      'core
+      'case-lambda
+      (lambda (#{e 3243}#
+               #{r 3244}#
+               #{w 3245}#
+               #{s 3246}#
+               #{mod 3247}#)
+        (let ((#{tmp 3253}# #{e 3243}#))
+          (let ((#{tmp 3254}#
+                  ($sc-dispatch
+                    #{tmp 3253}#
+                    '(_ (any any . each-any)
+                        .
+                        #(each (any any . each-any))))))
+            (if #{tmp 3254}#
+              (@apply
+                (lambda (#{args 3261}#
+                         #{e1 3262}#
+                         #{e2 3263}#
+                         #{args* 3264}#
+                         #{e1* 3265}#
+                         #{e2* 3266}#)
+                  (call-with-values
+                    (lambda ()
+                      (#{chi-lambda-case 447}#
+                        #{e 3243}#
+                        #{r 3244}#
+                        #{w 3245}#
+                        #{s 3246}#
+                        #{mod 3247}#
+                        #{lambda-formals 441}#
+                        (cons (cons #{args 3261}#
+                                    (cons #{e1 3262}# #{e2 3263}#))
+                              (map (lambda (#{tmp 3270}#
+                                            #{tmp 3269}#
+                                            #{tmp 3268}#)
+                                     (cons #{tmp 3268}#
+                                           (cons #{tmp 3269}# #{tmp 3270}#)))
+                                   #{e2* 3266}#
+                                   #{e1* 3265}#
+                                   #{args* 3264}#))))
+                    (lambda (#{meta 3272}# #{lcase 3273}#)
+                      (#{build-case-lambda 287}#
+                        #{s 3246}#
+                        #{meta 3272}#
+                        #{lcase 3273}#))))
+                #{tmp 3254}#)
+              (let ((#{_ 3277}# #{tmp 3253}#))
+                (syntax-violation
+                  'case-lambda
+                  "bad case-lambda"
+                  #{e 3243}#)))))))
+    (#{global-extend 339}#
+      'core
+      'case-lambda*
+      (lambda (#{e 3278}#
+               #{r 3279}#
+               #{w 3280}#
+               #{s 3281}#
+               #{mod 3282}#)
+        (let ((#{tmp 3288}# #{e 3278}#))
+          (let ((#{tmp 3289}#
+                  ($sc-dispatch
+                    #{tmp 3288}#
+                    '(_ (any any . each-any)
+                        .
+                        #(each (any any . each-any))))))
+            (if #{tmp 3289}#
+              (@apply
+                (lambda (#{args 3296}#
+                         #{e1 3297}#
+                         #{e2 3298}#
+                         #{args* 3299}#
+                         #{e1* 3300}#
+                         #{e2* 3301}#)
+                  (call-with-values
+                    (lambda ()
+                      (#{chi-lambda-case 447}#
+                        #{e 3278}#
+                        #{r 3279}#
+                        #{w 3280}#
+                        #{s 3281}#
+                        #{mod 3282}#
+                        #{lambda*-formals 445}#
+                        (cons (cons #{args 3296}#
+                                    (cons #{e1 3297}# #{e2 3298}#))
+                              (map (lambda (#{tmp 3305}#
+                                            #{tmp 3304}#
+                                            #{tmp 3303}#)
+                                     (cons #{tmp 3303}#
+                                           (cons #{tmp 3304}# #{tmp 3305}#)))
+                                   #{e2* 3301}#
+                                   #{e1* 3300}#
+                                   #{args* 3299}#))))
+                    (lambda (#{meta 3307}# #{lcase 3308}#)
+                      (#{build-case-lambda 287}#
+                        #{s 3281}#
+                        #{meta 3307}#
+                        #{lcase 3308}#))))
+                #{tmp 3289}#)
+              (let ((#{_ 3312}# #{tmp 3288}#))
+                (syntax-violation
+                  'case-lambda
+                  "bad case-lambda*"
+                  #{e 3278}#)))))))
+    (#{global-extend 339}#
+      'core
+      'let
+      (letrec*
+        ((#{chi-let 3314}#
+           (lambda (#{e 3315}#
+                    #{r 3316}#
+                    #{w 3317}#
+                    #{s 3318}#
+                    #{mod 3319}#
+                    #{constructor 3320}#
+                    #{ids 3321}#
+                    #{vals 3322}#
+                    #{exps 3323}#)
+             (if (not (#{valid-bound-ids? 403}# #{ids 3321}#))
+               (syntax-violation
+                 'let
+                 "duplicate bound variable"
+                 #{e 3315}#)
+               (let ((#{labels 3335}#
+                       (#{gen-labels 358}# #{ids 3321}#))
+                     (#{new-vars 3336}#
+                       (map #{gen-var 451}# #{ids 3321}#)))
+                 (let ((#{nw 3339}#
+                         (#{make-binding-wrap 387}#
+                           #{ids 3321}#
+                           #{labels 3335}#
+                           #{w 3317}#))
+                       (#{nr 3340}#
+                         (#{extend-var-env 333}#
+                           #{labels 3335}#
+                           #{new-vars 3336}#
+                           #{r 3316}#)))
+                   (#{constructor 3320}#
+                     #{s 3318}#
+                     (map syntax->datum #{ids 3321}#)
+                     #{new-vars 3336}#
+                     (map (lambda (#{x 3341}#)
+                            (#{chi 423}#
+                              #{x 3341}#
+                              #{r 3316}#
+                              #{w 3317}#
+                              #{mod 3319}#))
+                          #{vals 3322}#)
+                     (#{chi-body 431}#
+                       #{exps 3323}#
+                       (#{source-wrap 411}#
+                         #{e 3315}#
+                         #{nw 3339}#
+                         #{s 3318}#
+                         #{mod 3319}#)
+                       #{nr 3340}#
+                       #{nw 3339}#
+                       #{mod 3319}#))))))))
+        (lambda (#{e 3343}#
+                 #{r 3344}#
+                 #{w 3345}#
+                 #{s 3346}#
+                 #{mod 3347}#)
+          (let ((#{tmp 3353}# #{e 3343}#))
+            (let ((#{tmp 3354}#
+                    ($sc-dispatch
+                      #{tmp 3353}#
+                      '(_ #(each (any any)) any . each-any))))
+              (if (if #{tmp 3354}#
+                    (@apply
+                      (lambda (#{id 3359}#
+                               #{val 3360}#
+                               #{e1 3361}#
+                               #{e2 3362}#)
+                        (and-map #{id? 343}# #{id 3359}#))
+                      #{tmp 3354}#)
+                    #f)
+                (@apply
+                  (lambda (#{id 3368}#
+                           #{val 3369}#
+                           #{e1 3370}#
+                           #{e2 3371}#)
+                    (#{chi-let 3314}#
+                      #{e 3343}#
+                      #{r 3344}#
+                      #{w 3345}#
+                      #{s 3346}#
+                      #{mod 3347}#
+                      #{build-let 299}#
+                      #{id 3368}#
+                      #{val 3369}#
+                      (cons #{e1 3370}# #{e2 3371}#)))
+                  #{tmp 3354}#)
+                (let ((#{tmp 3375}#
+                        ($sc-dispatch
+                          #{tmp 3353}#
+                          '(_ any #(each (any any)) any . each-any))))
+                  (if (if #{tmp 3375}#
+                        (@apply
+                          (lambda (#{f 3381}#
+                                   #{id 3382}#
+                                   #{val 3383}#
+                                   #{e1 3384}#
+                                   #{e2 3385}#)
+                            (if (#{id? 343}# #{f 3381}#)
+                              (and-map #{id? 343}# #{id 3382}#)
+                              #f))
+                          #{tmp 3375}#)
+                        #f)
+                    (@apply
+                      (lambda (#{f 3394}#
+                               #{id 3395}#
+                               #{val 3396}#
+                               #{e1 3397}#
+                               #{e2 3398}#)
+                        (#{chi-let 3314}#
+                          #{e 3343}#
+                          #{r 3344}#
+                          #{w 3345}#
+                          #{s 3346}#
+                          #{mod 3347}#
+                          #{build-named-let 301}#
+                          (cons #{f 3394}# #{id 3395}#)
+                          #{val 3396}#
+                          (cons #{e1 3397}# #{e2 3398}#)))
+                      #{tmp 3375}#)
+                    (let ((#{_ 3403}# #{tmp 3353}#))
+                      (syntax-violation
+                        'let
+                        "bad let"
+                        (#{source-wrap 411}#
+                          #{e 3343}#
+                          #{w 3345}#
+                          #{s 3346}#
+                          #{mod 3347}#)))))))))))
+    (#{global-extend 339}#
+      'core
+      'letrec
+      (lambda (#{e 3404}#
+               #{r 3405}#
+               #{w 3406}#
+               #{s 3407}#
+               #{mod 3408}#)
+        (let ((#{tmp 3414}# #{e 3404}#))
+          (let ((#{tmp 3415}#
+                  ($sc-dispatch
+                    #{tmp 3414}#
+                    '(_ #(each (any any)) any . each-any))))
+            (if (if #{tmp 3415}#
+                  (@apply
+                    (lambda (#{id 3420}#
+                             #{val 3421}#
+                             #{e1 3422}#
+                             #{e2 3423}#)
+                      (and-map #{id? 343}# #{id 3420}#))
+                    #{tmp 3415}#)
+                  #f)
+              (@apply
+                (lambda (#{id 3429}#
+                         #{val 3430}#
+                         #{e1 3431}#
+                         #{e2 3432}#)
+                  (let ((#{ids 3434}# #{id 3429}#))
+                    (if (not (#{valid-bound-ids? 403}# #{ids 3434}#))
+                      (syntax-violation
+                        'letrec
+                        "duplicate bound variable"
+                        #{e 3404}#)
+                      (let ((#{labels 3438}#
+                              (#{gen-labels 358}# #{ids 3434}#))
+                            (#{new-vars 3439}#
+                              (map #{gen-var 451}# #{ids 3434}#)))
+                        (let ((#{w 3442}#
+                                (#{make-binding-wrap 387}#
+                                  #{ids 3434}#
+                                  #{labels 3438}#
+                                  #{w 3406}#))
+                              (#{r 3443}#
+                                (#{extend-var-env 333}#
+                                  #{labels 3438}#
+                                  #{new-vars 3439}#
+                                  #{r 3405}#)))
+                          (#{build-letrec 303}#
+                            #{s 3407}#
+                            #f
+                            (map syntax->datum #{ids 3434}#)
+                            #{new-vars 3439}#
+                            (map (lambda (#{x 3444}#)
+                                   (#{chi 423}#
+                                     #{x 3444}#
+                                     #{r 3443}#
+                                     #{w 3442}#
+                                     #{mod 3408}#))
+                                 #{val 3430}#)
+                            (#{chi-body 431}#
+                              (cons #{e1 3431}# #{e2 3432}#)
+                              (#{source-wrap 411}#
+                                #{e 3404}#
+                                #{w 3442}#
+                                #{s 3407}#
+                                #{mod 3408}#)
+                              #{r 3443}#
+                              #{w 3442}#
+                              #{mod 3408}#)))))))
+                #{tmp 3415}#)
+              (let ((#{_ 3449}# #{tmp 3414}#))
+                (syntax-violation
+                  'letrec
+                  "bad letrec"
+                  (#{source-wrap 411}#
+                    #{e 3404}#
+                    #{w 3406}#
+                    #{s 3407}#
+                    #{mod 3408}#))))))))
+    (#{global-extend 339}#
+      'core
+      'letrec*
+      (lambda (#{e 3450}#
+               #{r 3451}#
+               #{w 3452}#
+               #{s 3453}#
+               #{mod 3454}#)
+        (let ((#{tmp 3460}# #{e 3450}#))
+          (let ((#{tmp 3461}#
+                  ($sc-dispatch
+                    #{tmp 3460}#
+                    '(_ #(each (any any)) any . each-any))))
+            (if (if #{tmp 3461}#
+                  (@apply
+                    (lambda (#{id 3466}#
+                             #{val 3467}#
+                             #{e1 3468}#
+                             #{e2 3469}#)
+                      (and-map #{id? 343}# #{id 3466}#))
+                    #{tmp 3461}#)
+                  #f)
+              (@apply
+                (lambda (#{id 3475}#
+                         #{val 3476}#
+                         #{e1 3477}#
+                         #{e2 3478}#)
+                  (let ((#{ids 3480}# #{id 3475}#))
+                    (if (not (#{valid-bound-ids? 403}# #{ids 3480}#))
+                      (syntax-violation
+                        'letrec*
+                        "duplicate bound variable"
+                        #{e 3450}#)
+                      (let ((#{labels 3484}#
+                              (#{gen-labels 358}# #{ids 3480}#))
+                            (#{new-vars 3485}#
+                              (map #{gen-var 451}# #{ids 3480}#)))
+                        (let ((#{w 3488}#
+                                (#{make-binding-wrap 387}#
+                                  #{ids 3480}#
+                                  #{labels 3484}#
+                                  #{w 3452}#))
+                              (#{r 3489}#
+                                (#{extend-var-env 333}#
+                                  #{labels 3484}#
+                                  #{new-vars 3485}#
+                                  #{r 3451}#)))
+                          (#{build-letrec 303}#
+                            #{s 3453}#
+                            #t
+                            (map syntax->datum #{ids 3480}#)
+                            #{new-vars 3485}#
+                            (map (lambda (#{x 3490}#)
+                                   (#{chi 423}#
+                                     #{x 3490}#
+                                     #{r 3489}#
+                                     #{w 3488}#
+                                     #{mod 3454}#))
+                                 #{val 3476}#)
+                            (#{chi-body 431}#
+                              (cons #{e1 3477}# #{e2 3478}#)
+                              (#{source-wrap 411}#
+                                #{e 3450}#
+                                #{w 3488}#
+                                #{s 3453}#
+                                #{mod 3454}#)
+                              #{r 3489}#
+                              #{w 3488}#
+                              #{mod 3454}#)))))))
+                #{tmp 3461}#)
+              (let ((#{_ 3495}# #{tmp 3460}#))
+                (syntax-violation
+                  'letrec*
+                  "bad letrec*"
+                  (#{source-wrap 411}#
+                    #{e 3450}#
+                    #{w 3452}#
+                    #{s 3453}#
+                    #{mod 3454}#))))))))
+    (#{global-extend 339}#
+      'core
+      'set!
+      (lambda (#{e 3496}#
+               #{r 3497}#
+               #{w 3498}#
+               #{s 3499}#
+               #{mod 3500}#)
+        (let ((#{tmp 3506}# #{e 3496}#))
+          (let ((#{tmp 3507}#
+                  ($sc-dispatch #{tmp 3506}# '(_ any any))))
+            (if (if #{tmp 3507}#
+                  (@apply
+                    (lambda (#{id 3510}# #{val 3511}#)
+                      (#{id? 343}# #{id 3510}#))
+                    #{tmp 3507}#)
+                  #f)
+              (@apply
+                (lambda (#{id 3514}# #{val 3515}#)
+                  (let ((#{n 3518}#
+                          (#{id-var-name 397}# #{id 3514}# #{w 3498}#))
+                        (#{id-mod 3519}#
+                          (if (#{syntax-object? 309}# #{id 3514}#)
+                            (#{syntax-object-module 315}# #{id 3514}#)
+                            #{mod 3500}#)))
+                    (let ((#{b 3521}#
+                            (#{lookup 337}#
+                              #{n 3518}#
+                              #{r 3497}#
+                              #{id-mod 3519}#)))
+                      (let ((#{atom-key 3524}# (car #{b 3521}#)))
+                        (if (memv #{atom-key 3524}# '(lexical))
+                          (#{build-lexical-assignment 275}#
+                            #{s 3499}#
+                            (syntax->datum #{id 3514}#)
+                            (cdr #{b 3521}#)
+                            (#{chi 423}#
+                              #{val 3515}#
+                              #{r 3497}#
+                              #{w 3498}#
+                              #{mod 3500}#))
+                          (if (memv #{atom-key 3524}# '(global))
+                            (#{build-global-assignment 281}#
+                              #{s 3499}#
+                              #{n 3518}#
+                              (#{chi 423}#
+                                #{val 3515}#
+                                #{r 3497}#
+                                #{w 3498}#
+                                #{mod 3500}#)
+                              #{id-mod 3519}#)
+                            (if (memv #{atom-key 3524}# '(macro))
+                              (let ((#{p 3531}# (cdr #{b 3521}#)))
+                                (if (procedure-property
+                                      #{p 3531}#
+                                      'variable-transformer)
+                                  (#{chi 423}#
+                                    (#{chi-macro 429}#
+                                      #{p 3531}#
+                                      #{e 3496}#
+                                      #{r 3497}#
+                                      #{w 3498}#
+                                      #{s 3499}#
+                                      #f
+                                      #{mod 3500}#)
+                                    #{r 3497}#
+                                    '(())
+                                    #{mod 3500}#)
+                                  (syntax-violation
+                                    'set!
+                                    "not a variable transformer"
+                                    (#{wrap 409}#
+                                      #{e 3496}#
+                                      #{w 3498}#
+                                      #{mod 3500}#)
+                                    (#{wrap 409}#
+                                      #{id 3514}#
+                                      #{w 3498}#
+                                      #{id-mod 3519}#))))
+                              (if (memv #{atom-key 3524}# '(displaced-lexical))
+                                (syntax-violation
+                                  'set!
+                                  "identifier out of context"
+                                  (#{wrap 409}#
+                                    #{id 3514}#
+                                    #{w 3498}#
+                                    #{mod 3500}#))
+                                (syntax-violation
+                                  'set!
+                                  "bad set!"
+                                  (#{source-wrap 411}#
+                                    #{e 3496}#
+                                    #{w 3498}#
+                                    #{s 3499}#
+                                    #{mod 3500}#))))))))))
+                #{tmp 3507}#)
+              (let ((#{tmp 3536}#
+                      ($sc-dispatch
+                        #{tmp 3506}#
+                        '(_ (any . each-any) any))))
+                (if #{tmp 3536}#
+                  (@apply
+                    (lambda (#{head 3540}# #{tail 3541}# #{val 3542}#)
+                      (call-with-values
+                        (lambda ()
+                          (#{syntax-type 421}#
+                            #{head 3540}#
+                            #{r 3497}#
+                            '(())
+                            #f
+                            #f
+                            #{mod 3500}#
+                            #t))
+                        (lambda (#{type 3545}#
+                                 #{value 3546}#
+                                 #{ee 3547}#
+                                 #{ww 3548}#
+                                 #{ss 3549}#
+                                 #{modmod 3550}#)
+                          (if (memv #{type 3545}# '(module-ref))
+                            (let ((#{val 3559}#
+                                    (#{chi 423}#
+                                      #{val 3542}#
+                                      #{r 3497}#
+                                      #{w 3498}#
+                                      #{mod 3500}#)))
+                              (call-with-values
+                                (lambda ()
+                                  (#{value 3546}#
+                                    (cons #{head 3540}# #{tail 3541}#)
+                                    #{r 3497}#
+                                    #{w 3498}#))
+                                (lambda (#{e 3561}#
+                                         #{r 3562}#
+                                         #{w 3563}#
+                                         #{s* 3564}#
+                                         #{mod 3565}#)
+                                  (let ((#{tmp 3571}# #{e 3561}#))
+                                    (let ((#{tmp 3572}# (list #{tmp 3571}#)))
+                                      (if (if #{tmp 3572}#
+                                            (@apply
+                                              (lambda (#{e 3574}#)
+                                                (#{id? 343}# #{e 3574}#))
+                                              #{tmp 3572}#)
+                                            #f)
+                                        (@apply
+                                          (lambda (#{e 3576}#)
+                                            (#{build-global-assignment 281}#
+                                              #{s 3499}#
+                                              (syntax->datum #{e 3576}#)
+                                              #{val 3559}#
+                                              #{mod 3565}#))
+                                          #{tmp 3572}#)
+                                        (syntax-violation
+                                          #f
+                                          "source expression failed to match 
any pattern"
+                                          #{tmp 3571}#)))))))
+                            (#{build-call 267}#
+                              #{s 3499}#
+                              (#{chi 423}#
+                                (list '#(syntax-object
+                                         setter
+                                         ((top)
+                                          #(ribcage () () ())
+                                          #(ribcage () () ())
+                                          #(ribcage
+                                            #(type value ee ww ss modmod)
+                                            #((top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top))
+                                            #("i3551"
+                                              "i3552"
+                                              "i3553"
+                                              "i3554"
+                                              "i3555"
+                                              "i3556"))
+                                          #(ribcage
+                                            #(head tail val)
+                                            #((top) (top) (top))
+                                            #("i3537" "i3538" "i3539"))
+                                          #(ribcage () () ())
+                                          #(ribcage
+                                            #(e r w s mod)
+                                            #((top) (top) (top) (top) (top))
+                                            #("i3501"
+                                              "i3502"
+                                              "i3503"
+                                              "i3504"
+                                              "i3505"))
+                                          #(ribcage
+                                            (lambda-var-list
+                                              gen-var
+                                              strip
+                                              chi-lambda-case
+                                              lambda*-formals
+                                              chi-simple-lambda
+                                              lambda-formals
+                                              ellipsis?
+                                              chi-void
+                                              eval-local-transformer
+                                              chi-local-syntax
+                                              chi-body
+                                              chi-macro
+                                              chi-call
+                                              chi-expr
+                                              chi
+                                              syntax-type
+                                              chi-when-list
+                                              chi-install-global
+                                              chi-top-sequence
+                                              chi-sequence
+                                              source-wrap
+                                              wrap
+                                              bound-id-member?
+                                              distinct-bound-ids?
+                                              valid-bound-ids?
+                                              bound-id=?
+                                              free-id=?
+                                              id-var-name
+                                              same-marks?
+                                              join-marks
+                                              join-wraps
+                                              smart-append
+                                              make-binding-wrap
+                                              extend-ribcage!
+                                              make-empty-ribcage
+                                              new-mark
+                                              anti-mark
+                                              the-anti-mark
+                                              top-marked?
+                                              top-wrap
+                                              empty-wrap
+                                              set-ribcage-labels!
+                                              set-ribcage-marks!
+                                              set-ribcage-symnames!
+                                              ribcage-labels
+                                              ribcage-marks
+                                              ribcage-symnames
+                                              ribcage?
+                                              make-ribcage
+                                              gen-labels
+                                              gen-label
+                                              make-rename
+                                              rename-marks
+                                              rename-new
+                                              rename-old
+                                              subst-rename?
+                                              wrap-subst
+                                              wrap-marks
+                                              make-wrap
+                                              id-sym-name&marks
+                                              id-sym-name
+                                              id?
+                                              nonsymbol-id?
+                                              global-extend
+                                              lookup
+                                              macros-only-env
+                                              extend-var-env
+                                              extend-env
+                                              null-env
+                                              binding-value
+                                              binding-type
+                                              make-binding
+                                              arg-check
+                                              source-annotation
+                                              no-source
+                                              set-syntax-object-module!
+                                              set-syntax-object-wrap!
+                                              set-syntax-object-expression!
+                                              syntax-object-module
+                                              syntax-object-wrap
+                                              syntax-object-expression
+                                              syntax-object?
+                                              make-syntax-object
+                                              build-lexical-var
+                                              build-letrec
+                                              build-named-let
+                                              build-let
+                                              build-sequence
+                                              build-data
+                                              build-primref
+                                              build-primcall
+                                              build-lambda-case
+                                              build-case-lambda
+                                              build-simple-lambda
+                                              build-global-definition
+                                              build-global-assignment
+                                              build-global-reference
+                                              analyze-variable
+                                              build-lexical-assignment
+                                              build-lexical-reference
+                                              build-dynlet
+                                              build-conditional
+                                              build-call
+                                              build-void
+                                              maybe-name-value!
+                                              decorate-source
+                                              get-global-definition-hook
+                                              put-global-definition-hook
+                                              gensym-hook
+                                              local-eval-hook
+                                              top-level-eval-hook
+                                              fx<
+                                              fx=
+                                              fx-
+                                              fx+
+                                              set-lambda-meta!
+                                              lambda-meta
+                                              lambda?
+                                              make-dynlet
+                                              make-letrec
+                                              make-let
+                                              make-lambda-case
+                                              make-lambda
+                                              make-seq
+                                              make-primcall
+                                              make-call
+                                              make-conditional
+                                              make-toplevel-define
+                                              make-toplevel-set
+                                              make-toplevel-ref
+                                              make-module-set
+                                              make-module-ref
+                                              make-lexical-set
+                                              make-lexical-ref
+                                              make-primitive-ref
+                                              make-const
+                                              make-void)
+                                            ((top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top)
+                                             (top))
+                                            ("i452"
+                                             "i450"
+                                             "i448"
+                                             "i446"
+                                             "i444"
+                                             "i442"
+                                             "i440"
+                                             "i438"
+                                             "i436"
+                                             "i434"
+                                             "i432"
+                                             "i430"
+                                             "i428"
+                                             "i426"
+                                             "i424"
+                                             "i422"
+                                             "i420"
+                                             "i418"
+                                             "i416"
+                                             "i414"
+                                             "i412"
+                                             "i410"
+                                             "i408"
+                                             "i406"
+                                             "i404"
+                                             "i402"
+                                             "i400"
+                                             "i398"
+                                             "i396"
+                                             "i394"
+                                             "i392"
+                                             "i390"
+                                             "i388"
+                                             "i386"
+                                             "i384"
+                                             "i383"
+                                             "i382"
+                                             "i380"
+                                             "i379"
+                                             "i378"
+                                             "i377"
+                                             "i376"
+                                             "i374"
+                                             "i372"
+                                             "i370"
+                                             "i368"
+                                             "i366"
+                                             "i364"
+                                             "i362"
+                                             "i360"
+                                             "i357"
+                                             "i355"
+                                             "i354"
+                                             "i353"
+                                             "i352"
+                                             "i351"
+                                             "i350"
+                                             "i349"
+                                             "i348"
+                                             "i347"
+                                             "i345"
+                                             "i344"
+                                             "i342"
+                                             "i340"
+                                             "i338"
+                                             "i336"
+                                             "i334"
+                                             "i332"
+                                             "i330"
+                                             "i329"
+                                             "i328"
+                                             "i327"
+                                             "i326"
+                                             "i325"
+                                             "i323"
+                                             "i322"
+                                             "i320"
+                                             "i318"
+                                             "i316"
+                                             "i314"
+                                             "i312"
+                                             "i310"
+                                             "i308"
+                                             "i306"
+                                             "i304"
+                                             "i302"
+                                             "i300"
+                                             "i298"
+                                             "i296"
+                                             "i294"
+                                             "i292"
+                                             "i290"
+                                             "i288"
+                                             "i286"
+                                             "i284"
+                                             "i282"
+                                             "i280"
+                                             "i278"
+                                             "i276"
+                                             "i274"
+                                             "i272"
+                                             "i270"
+                                             "i268"
+                                             "i266"
+                                             "i264"
+                                             "i262"
+                                             "i260"
+                                             "i258"
+                                             "i256"
+                                             "i255"
+                                             "i253"
+                                             "i251"
+                                             "i250"
+                                             "i249"
+                                             "i248"
+                                             "i247"
+                                             "i245"
+                                             "i243"
+                                             "i241"
+                                             "i238"
+                                             "i236"
+                                             "i234"
+                                             "i232"
+                                             "i230"
+                                             "i228"
+                                             "i226"
+                                             "i224"
+                                             "i222"
+                                             "i220"
+                                             "i218"
+                                             "i216"
+                                             "i214"
+                                             "i212"
+                                             "i210"
+                                             "i208"
+                                             "i206"
+                                             "i204"
+                                             "i202"))
+                                          #(ribcage
+                                            (define-structure
+                                              define-expansion-accessors
+                                              define-expansion-constructors)
+                                            ((top) (top) (top))
+                                            ("i40" "i39" "i38")))
+                                         (hygiene guile))
+                                      #{head 3540}#)
+                                #{r 3497}#
+                                #{w 3498}#
+                                #{mod 3500}#)
+                              (map (lambda (#{e 3578}#)
+                                     (#{chi 423}#
+                                       #{e 3578}#
+                                       #{r 3497}#
+                                       #{w 3498}#
+                                       #{mod 3500}#))
+                                   (append
+                                     #{tail 3541}#
+                                     (list #{val 3542}#))))))))
+                    #{tmp 3536}#)
+                  (let ((#{_ 3582}# #{tmp 3506}#))
+                    (syntax-violation
+                      'set!
+                      "bad set!"
+                      (#{source-wrap 411}#
+                        #{e 3496}#
+                        #{w 3498}#
+                        #{s 3499}#
+                        #{mod 3500}#))))))))))
+    (#{global-extend 339}#
+      'module-ref
+      '@
+      (lambda (#{e 3583}# #{r 3584}# #{w 3585}#)
+        (let ((#{tmp 3589}# #{e 3583}#))
+          (let ((#{tmp 3590}#
+                  ($sc-dispatch #{tmp 3589}# '(_ each-any any))))
+            (if (if #{tmp 3590}#
+                  (@apply
+                    (lambda (#{mod 3593}# #{id 3594}#)
+                      (if (and-map #{id? 343}# #{mod 3593}#)
+                        (#{id? 343}# #{id 3594}#)
+                        #f))
+                    #{tmp 3590}#)
+                  #f)
+              (@apply
+                (lambda (#{mod 3600}# #{id 3601}#)
+                  (values
+                    (syntax->datum #{id 3601}#)
+                    #{r 3584}#
+                    #{w 3585}#
+                    #f
+                    (syntax->datum
+                      (cons '#(syntax-object
+                               public
+                               ((top)
+                                #(ribcage
+                                  #(mod id)
+                                  #((top) (top))
+                                  #("i3598" "i3599"))
+                                #(ribcage () () ())
+                                #(ribcage
+                                  #(e r w)
+                                  #((top) (top) (top))
+                                  #("i3586" "i3587" "i3588"))
+                                #(ribcage
+                                  (lambda-var-list
+                                    gen-var
+                                    strip
+                                    chi-lambda-case
+                                    lambda*-formals
+                                    chi-simple-lambda
+                                    lambda-formals
+                                    ellipsis?
+                                    chi-void
+                                    eval-local-transformer
+                                    chi-local-syntax
+                                    chi-body
+                                    chi-macro
+                                    chi-call
+                                    chi-expr
+                                    chi
+                                    syntax-type
+                                    chi-when-list
+                                    chi-install-global
+                                    chi-top-sequence
+                                    chi-sequence
+                                    source-wrap
+                                    wrap
+                                    bound-id-member?
+                                    distinct-bound-ids?
+                                    valid-bound-ids?
+                                    bound-id=?
+                                    free-id=?
+                                    id-var-name
+                                    same-marks?
+                                    join-marks
+                                    join-wraps
+                                    smart-append
+                                    make-binding-wrap
+                                    extend-ribcage!
+                                    make-empty-ribcage
+                                    new-mark
+                                    anti-mark
+                                    the-anti-mark
+                                    top-marked?
+                                    top-wrap
+                                    empty-wrap
+                                    set-ribcage-labels!
+                                    set-ribcage-marks!
+                                    set-ribcage-symnames!
+                                    ribcage-labels
+                                    ribcage-marks
+                                    ribcage-symnames
+                                    ribcage?
+                                    make-ribcage
+                                    gen-labels
+                                    gen-label
+                                    make-rename
+                                    rename-marks
+                                    rename-new
+                                    rename-old
+                                    subst-rename?
+                                    wrap-subst
+                                    wrap-marks
+                                    make-wrap
+                                    id-sym-name&marks
+                                    id-sym-name
+                                    id?
+                                    nonsymbol-id?
+                                    global-extend
+                                    lookup
+                                    macros-only-env
+                                    extend-var-env
+                                    extend-env
+                                    null-env
+                                    binding-value
+                                    binding-type
+                                    make-binding
+                                    arg-check
+                                    source-annotation
+                                    no-source
+                                    set-syntax-object-module!
+                                    set-syntax-object-wrap!
+                                    set-syntax-object-expression!
+                                    syntax-object-module
+                                    syntax-object-wrap
+                                    syntax-object-expression
+                                    syntax-object?
+                                    make-syntax-object
+                                    build-lexical-var
+                                    build-letrec
+                                    build-named-let
+                                    build-let
+                                    build-sequence
+                                    build-data
+                                    build-primref
+                                    build-primcall
+                                    build-lambda-case
+                                    build-case-lambda
+                                    build-simple-lambda
+                                    build-global-definition
+                                    build-global-assignment
+                                    build-global-reference
+                                    analyze-variable
+                                    build-lexical-assignment
+                                    build-lexical-reference
+                                    build-dynlet
+                                    build-conditional
+                                    build-call
+                                    build-void
+                                    maybe-name-value!
+                                    decorate-source
+                                    get-global-definition-hook
+                                    put-global-definition-hook
+                                    gensym-hook
+                                    local-eval-hook
+                                    top-level-eval-hook
+                                    fx<
+                                    fx=
+                                    fx-
+                                    fx+
+                                    set-lambda-meta!
+                                    lambda-meta
+                                    lambda?
+                                    make-dynlet
+                                    make-letrec
+                                    make-let
+                                    make-lambda-case
+                                    make-lambda
+                                    make-seq
+                                    make-primcall
+                                    make-call
+                                    make-conditional
+                                    make-toplevel-define
+                                    make-toplevel-set
+                                    make-toplevel-ref
+                                    make-module-set
+                                    make-module-ref
+                                    make-lexical-set
+                                    make-lexical-ref
+                                    make-primitive-ref
+                                    make-const
+                                    make-void)
+                                  ((top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top)
+                                   (top))
+                                  ("i452"
+                                   "i450"
+                                   "i448"
+                                   "i446"
+                                   "i444"
+                                   "i442"
+                                   "i440"
+                                   "i438"
+                                   "i436"
+                                   "i434"
+                                   "i432"
+                                   "i430"
+                                   "i428"
+                                   "i426"
+                                   "i424"
+                                   "i422"
+                                   "i420"
+                                   "i418"
+                                   "i416"
+                                   "i414"
+                                   "i412"
+                                   "i410"
+                                   "i408"
+                                   "i406"
+                                   "i404"
+                                   "i402"
+                                   "i400"
+                                   "i398"
+                                   "i396"
+                                   "i394"
+                                   "i392"
+                                   "i390"
+                                   "i388"
+                                   "i386"
+                                   "i384"
+                                   "i383"
+                                   "i382"
+                                   "i380"
+                                   "i379"
+                                   "i378"
+                                   "i377"
+                                   "i376"
+                                   "i374"
+                                   "i372"
+                                   "i370"
+                                   "i368"
+                                   "i366"
+                                   "i364"
+                                   "i362"
+                                   "i360"
+                                   "i357"
+                                   "i355"
+                                   "i354"
+                                   "i353"
+                                   "i352"
+                                   "i351"
+                                   "i350"
+                                   "i349"
+                                   "i348"
+                                   "i347"
+                                   "i345"
+                                   "i344"
+                                   "i342"
+                                   "i340"
+                                   "i338"
+                                   "i336"
+                                   "i334"
+                                   "i332"
+                                   "i330"
+                                   "i329"
+                                   "i328"
+                                   "i327"
+                                   "i326"
+                                   "i325"
+                                   "i323"
+                                   "i322"
+                                   "i320"
+                                   "i318"
+                                   "i316"
+                                   "i314"
+                                   "i312"
+                                   "i310"
+                                   "i308"
+                                   "i306"
+                                   "i304"
+                                   "i302"
+                                   "i300"
+                                   "i298"
+                                   "i296"
+                                   "i294"
+                                   "i292"
+                                   "i290"
+                                   "i288"
+                                   "i286"
+                                   "i284"
+                                   "i282"
+                                   "i280"
+                                   "i278"
+                                   "i276"
+                                   "i274"
+                                   "i272"
+                                   "i270"
+                                   "i268"
+                                   "i266"
+                                   "i264"
+                                   "i262"
+                                   "i260"
+                                   "i258"
+                                   "i256"
+                                   "i255"
+                                   "i253"
+                                   "i251"
+                                   "i250"
+                                   "i249"
+                                   "i248"
+                                   "i247"
+                                   "i245"
+                                   "i243"
+                                   "i241"
+                                   "i238"
+                                   "i236"
+                                   "i234"
+                                   "i232"
+                                   "i230"
+                                   "i228"
+                                   "i226"
+                                   "i224"
+                                   "i222"
+                                   "i220"
+                                   "i218"
+                                   "i216"
+                                   "i214"
+                                   "i212"
+                                   "i210"
+                                   "i208"
+                                   "i206"
+                                   "i204"
+                                   "i202"))
+                                #(ribcage
+                                  (define-structure
+                                    define-expansion-accessors
+                                    define-expansion-constructors)
+                                  ((top) (top) (top))
+                                  ("i40" "i39" "i38")))
+                               (hygiene guile))
+                            #{mod 3600}#))))
+                #{tmp 3590}#)
+              (syntax-violation
+                #f
+                "source expression failed to match any pattern"
+                #{tmp 3589}#))))))
+    (#{global-extend 339}#
+      'module-ref
+      '@@
+      (lambda (#{e 3603}# #{r 3604}# #{w 3605}#)
+        (letrec*
+          ((#{remodulate 3610}#
+             (lambda (#{x 3611}# #{mod 3612}#)
+               (if (pair? #{x 3611}#)
+                 (cons (#{remodulate 3610}#
+                         (car #{x 3611}#)
+                         #{mod 3612}#)
+                       (#{remodulate 3610}#
+                         (cdr #{x 3611}#)
+                         #{mod 3612}#))
+                 (if (#{syntax-object? 309}# #{x 3611}#)
+                   (#{make-syntax-object 307}#
+                     (#{remodulate 3610}#
+                       (#{syntax-object-expression 311}# #{x 3611}#)
+                       #{mod 3612}#)
+                     (#{syntax-object-wrap 313}# #{x 3611}#)
+                     #{mod 3612}#)
+                   (if (vector? #{x 3611}#)
+                     (let ((#{n 3623}# (vector-length #{x 3611}#)))
+                       (let ((#{v 3625}# (make-vector #{n 3623}#)))
+                         (letrec*
+                           ((#{loop 3628}#
+                              (lambda (#{i 3629}#)
+                                (if (= #{i 3629}# #{n 3623}#)
+                                  (begin (if #f #f) #{v 3625}#)
+                                  (begin
+                                    (vector-set!
+                                      #{v 3625}#
+                                      #{i 3629}#
+                                      (#{remodulate 3610}#
+                                        (vector-ref #{x 3611}# #{i 3629}#)
+                                        #{mod 3612}#))
+                                    (#{loop 3628}# (#{1+}# #{i 3629}#)))))))
+                           (#{loop 3628}# 0))))
+                     #{x 3611}#))))))
+          (let ((#{tmp 3635}# #{e 3603}#))
+            (let ((#{tmp 3636}#
+                    ($sc-dispatch #{tmp 3635}# '(_ each-any any))))
+              (if (if #{tmp 3636}#
+                    (@apply
+                      (lambda (#{mod 3639}# #{exp 3640}#)
+                        (and-map #{id? 343}# #{mod 3639}#))
+                      #{tmp 3636}#)
+                    #f)
+                (@apply
+                  (lambda (#{mod 3644}# #{exp 3645}#)
+                    (let ((#{mod 3647}#
+                            (syntax->datum
+                              (cons '#(syntax-object
+                                       private
+                                       ((top)
+                                        #(ribcage
+                                          #(mod exp)
+                                          #((top) (top))
+                                          #("i3642" "i3643"))
+                                        #(ribcage
+                                          (remodulate)
+                                          ((top))
+                                          ("i3609"))
+                                        #(ribcage
+                                          #(e r w)
+                                          #((top) (top) (top))
+                                          #("i3606" "i3607" "i3608"))
+                                        #(ribcage
+                                          (lambda-var-list
+                                            gen-var
+                                            strip
+                                            chi-lambda-case
+                                            lambda*-formals
+                                            chi-simple-lambda
+                                            lambda-formals
+                                            ellipsis?
+                                            chi-void
+                                            eval-local-transformer
+                                            chi-local-syntax
+                                            chi-body
+                                            chi-macro
+                                            chi-call
+                                            chi-expr
+                                            chi
+                                            syntax-type
+                                            chi-when-list
+                                            chi-install-global
+                                            chi-top-sequence
+                                            chi-sequence
+                                            source-wrap
+                                            wrap
+                                            bound-id-member?
+                                            distinct-bound-ids?
+                                            valid-bound-ids?
+                                            bound-id=?
+                                            free-id=?
+                                            id-var-name
+                                            same-marks?
+                                            join-marks
+                                            join-wraps
+                                            smart-append
+                                            make-binding-wrap
+                                            extend-ribcage!
+                                            make-empty-ribcage
+                                            new-mark
+                                            anti-mark
+                                            the-anti-mark
+                                            top-marked?
+                                            top-wrap
+                                            empty-wrap
+                                            set-ribcage-labels!
+                                            set-ribcage-marks!
+                                            set-ribcage-symnames!
+                                            ribcage-labels
+                                            ribcage-marks
+                                            ribcage-symnames
+                                            ribcage?
+                                            make-ribcage
+                                            gen-labels
+                                            gen-label
+                                            make-rename
+                                            rename-marks
+                                            rename-new
+                                            rename-old
+                                            subst-rename?
+                                            wrap-subst
+                                            wrap-marks
+                                            make-wrap
+                                            id-sym-name&marks
+                                            id-sym-name
+                                            id?
+                                            nonsymbol-id?
+                                            global-extend
+                                            lookup
+                                            macros-only-env
+                                            extend-var-env
+                                            extend-env
+                                            null-env
+                                            binding-value
+                                            binding-type
+                                            make-binding
+                                            arg-check
+                                            source-annotation
+                                            no-source
+                                            set-syntax-object-module!
+                                            set-syntax-object-wrap!
+                                            set-syntax-object-expression!
+                                            syntax-object-module
+                                            syntax-object-wrap
+                                            syntax-object-expression
+                                            syntax-object?
+                                            make-syntax-object
+                                            build-lexical-var
+                                            build-letrec
+                                            build-named-let
+                                            build-let
+                                            build-sequence
+                                            build-data
+                                            build-primref
+                                            build-primcall
+                                            build-lambda-case
+                                            build-case-lambda
+                                            build-simple-lambda
+                                            build-global-definition
+                                            build-global-assignment
+                                            build-global-reference
+                                            analyze-variable
+                                            build-lexical-assignment
+                                            build-lexical-reference
+                                            build-dynlet
+                                            build-conditional
+                                            build-call
+                                            build-void
+                                            maybe-name-value!
+                                            decorate-source
+                                            get-global-definition-hook
+                                            put-global-definition-hook
+                                            gensym-hook
+                                            local-eval-hook
+                                            top-level-eval-hook
+                                            fx<
+                                            fx=
+                                            fx-
+                                            fx+
+                                            set-lambda-meta!
+                                            lambda-meta
+                                            lambda?
+                                            make-dynlet
+                                            make-letrec
+                                            make-let
+                                            make-lambda-case
+                                            make-lambda
+                                            make-seq
+                                            make-primcall
+                                            make-call
+                                            make-conditional
+                                            make-toplevel-define
+                                            make-toplevel-set
+                                            make-toplevel-ref
+                                            make-module-set
+                                            make-module-ref
+                                            make-lexical-set
+                                            make-lexical-ref
+                                            make-primitive-ref
+                                            make-const
+                                            make-void)
+                                          ((top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top)
+                                           (top))
+                                          ("i452"
+                                           "i450"
+                                           "i448"
+                                           "i446"
+                                           "i444"
+                                           "i442"
+                                           "i440"
+                                           "i438"
+                                           "i436"
+                                           "i434"
+                                           "i432"
+                                           "i430"
+                                           "i428"
+                                           "i426"
+                                           "i424"
+                                           "i422"
+                                           "i420"
+                                           "i418"
+                                           "i416"
+                                           "i414"
+                                           "i412"
+                                           "i410"
+                                           "i408"
+                                           "i406"
+                                           "i404"
+                                           "i402"
+                                           "i400"
+                                           "i398"
+                                           "i396"
+                                           "i394"
+                                           "i392"
+                                           "i390"
+                                           "i388"
+                                           "i386"
+                                           "i384"
+                                           "i383"
+                                           "i382"
+                                           "i380"
+                                           "i379"
+                                           "i378"
+                                           "i377"
+                                           "i376"
+                                           "i374"
+                                           "i372"
+                                           "i370"
+                                           "i368"
+                                           "i366"
+                                           "i364"
+                                           "i362"
+                                           "i360"
+                                           "i357"
+                                           "i355"
+                                           "i354"
+                                           "i353"
+                                           "i352"
+                                           "i351"
+                                           "i350"
+                                           "i349"
+                                           "i348"
+                                           "i347"
+                                           "i345"
+                                           "i344"
+                                           "i342"
+                                           "i340"
+                                           "i338"
+                                           "i336"
+                                           "i334"
+                                           "i332"
+                                           "i330"
+                                           "i329"
+                                           "i328"
+                                           "i327"
+                                           "i326"
+                                           "i325"
+                                           "i323"
+                                           "i322"
+                                           "i320"
+                                           "i318"
+                                           "i316"
+                                           "i314"
+                                           "i312"
+                                           "i310"
+                                           "i308"
+                                           "i306"
+                                           "i304"
+                                           "i302"
+                                           "i300"
+                                           "i298"
+                                           "i296"
+                                           "i294"
+                                           "i292"
+                                           "i290"
+                                           "i288"
+                                           "i286"
+                                           "i284"
+                                           "i282"
+                                           "i280"
+                                           "i278"
+                                           "i276"
+                                           "i274"
+                                           "i272"
+                                           "i270"
+                                           "i268"
+                                           "i266"
+                                           "i264"
+                                           "i262"
+                                           "i260"
+                                           "i258"
+                                           "i256"
+                                           "i255"
+                                           "i253"
+                                           "i251"
+                                           "i250"
+                                           "i249"
+                                           "i248"
+                                           "i247"
+                                           "i245"
+                                           "i243"
+                                           "i241"
+                                           "i238"
+                                           "i236"
+                                           "i234"
+                                           "i232"
+                                           "i230"
+                                           "i228"
+                                           "i226"
+                                           "i224"
+                                           "i222"
+                                           "i220"
+                                           "i218"
+                                           "i216"
+                                           "i214"
+                                           "i212"
+                                           "i210"
+                                           "i208"
+                                           "i206"
+                                           "i204"
+                                           "i202"))
+                                        #(ribcage
+                                          (define-structure
+                                            define-expansion-accessors
+                                            define-expansion-constructors)
+                                          ((top) (top) (top))
+                                          ("i40" "i39" "i38")))
+                                       (hygiene guile))
+                                    #{mod 3644}#))))
+                      (values
+                        (#{remodulate 3610}# #{exp 3645}# #{mod 3647}#)
+                        #{r 3604}#
+                        #{w 3605}#
+                        (#{source-annotation 324}# #{exp 3645}#)
+                        #{mod 3647}#)))
+                  #{tmp 3636}#)
+                (syntax-violation
+                  #f
+                  "source expression failed to match any pattern"
+                  #{tmp 3635}#)))))))
+    (#{global-extend 339}#
+      'core
+      'if
+      (lambda (#{e 3649}#
+               #{r 3650}#
+               #{w 3651}#
+               #{s 3652}#
+               #{mod 3653}#)
+        (let ((#{tmp 3659}# #{e 3649}#))
+          (let ((#{tmp 3660}#
+                  ($sc-dispatch #{tmp 3659}# '(_ any any))))
+            (if #{tmp 3660}#
+              (@apply
+                (lambda (#{test 3663}# #{then 3664}#)
+                  (#{build-conditional 269}#
+                    #{s 3652}#
+                    (#{chi 423}#
+                      #{test 3663}#
+                      #{r 3650}#
+                      #{w 3651}#
+                      #{mod 3653}#)
+                    (#{chi 423}#
+                      #{then 3664}#
+                      #{r 3650}#
+                      #{w 3651}#
+                      #{mod 3653}#)
+                    (#{build-void 265}# #f)))
+                #{tmp 3660}#)
+              (let ((#{tmp 3666}#
+                      ($sc-dispatch #{tmp 3659}# '(_ any any any))))
+                (if #{tmp 3666}#
+                  (@apply
+                    (lambda (#{test 3670}# #{then 3671}# #{else 3672}#)
+                      (#{build-conditional 269}#
+                        #{s 3652}#
+                        (#{chi 423}#
+                          #{test 3670}#
+                          #{r 3650}#
+                          #{w 3651}#
+                          #{mod 3653}#)
+                        (#{chi 423}#
+                          #{then 3671}#
+                          #{r 3650}#
+                          #{w 3651}#
+                          #{mod 3653}#)
+                        (#{chi 423}#
+                          #{else 3672}#
+                          #{r 3650}#
+                          #{w 3651}#
+                          #{mod 3653}#)))
+                    #{tmp 3666}#)
+                  (syntax-violation
+                    #f
+                    "source expression failed to match any pattern"
+                    #{tmp 3659}#))))))))
+    (#{global-extend 339}#
+      'core
+      'with-fluids
+      (lambda (#{e 3673}#
+               #{r 3674}#
+               #{w 3675}#
+               #{s 3676}#
+               #{mod 3677}#)
+        (let ((#{tmp 3683}# #{e 3673}#))
+          (let ((#{tmp 3684}#
+                  ($sc-dispatch
+                    #{tmp 3683}#
+                    '(_ #(each (any any)) any . each-any))))
+            (if #{tmp 3684}#
+              (@apply
+                (lambda (#{fluid 3689}#
+                         #{val 3690}#
+                         #{b 3691}#
+                         #{b* 3692}#)
+                  (#{build-dynlet 271}#
+                    #{s 3676}#
+                    (map (lambda (#{x 3693}#)
+                           (#{chi 423}#
+                             #{x 3693}#
+                             #{r 3674}#
+                             #{w 3675}#
+                             #{mod 3677}#))
+                         #{fluid 3689}#)
+                    (map (lambda (#{x 3696}#)
+                           (#{chi 423}#
+                             #{x 3696}#
+                             #{r 3674}#
+                             #{w 3675}#
+                             #{mod 3677}#))
+                         #{val 3690}#)
+                    (#{chi-body 431}#
+                      (cons #{b 3691}# #{b* 3692}#)
+                      (#{source-wrap 411}#
+                        #{e 3673}#
+                        #{w 3675}#
+                        #{s 3676}#
+                        #{mod 3677}#)
+                      #{r 3674}#
+                      #{w 3675}#
+                      #{mod 3677}#)))
+                #{tmp 3684}#)
+              (syntax-violation
+                #f
+                "source expression failed to match any pattern"
+                #{tmp 3683}#))))))
+    (#{global-extend 339}# 'begin 'begin '())
+    (#{global-extend 339}# 'define 'define '())
+    (#{global-extend 339}#
+      'define-syntax
+      'define-syntax
+      '())
+    (#{global-extend 339}# 'eval-when 'eval-when '())
+    (#{global-extend 339}#
+      'core
+      'syntax-case
+      (letrec*
+        ((#{convert-pattern 3701}#
+           (lambda (#{pattern 3708}# #{keys 3709}#)
+             (letrec*
+               ((#{cvt* 3713}#
+                  (lambda (#{p* 3716}# #{n 3717}# #{ids 3718}#)
+                    (if (null? #{p* 3716}#)
+                      (values '() #{ids 3718}#)
+                      (call-with-values
+                        (lambda ()
+                          (#{cvt* 3713}#
+                            (cdr #{p* 3716}#)
+                            #{n 3717}#
+                            #{ids 3718}#))
+                        (lambda (#{y 3722}# #{ids 3723}#)
+                          (call-with-values
+                            (lambda ()
+                              (#{cvt 3715}#
+                                (car #{p* 3716}#)
+                                #{n 3717}#
+                                #{ids 3723}#))
+                            (lambda (#{x 3726}# #{ids 3727}#)
+                              (values
+                                (cons #{x 3726}# #{y 3722}#)
+                                #{ids 3727}#))))))))
+                (#{cvt 3715}#
+                  (lambda (#{p 3730}# #{n 3731}# #{ids 3732}#)
+                    (if (#{id? 343}# #{p 3730}#)
+                      (if (#{bound-id-member? 407}#
+                            #{p 3730}#
+                            #{keys 3709}#)
+                        (values
+                          (vector 'free-id #{p 3730}#)
+                          #{ids 3732}#)
+                        (if (#{free-id=? 399}#
+                              #{p 3730}#
+                              '#(syntax-object
+                                 _
+                                 ((top)
+                                  #(ribcage () () ())
+                                  #(ribcage
+                                    #(p n ids)
+                                    #((top) (top) (top))
+                                    #("i3733" "i3734" "i3735"))
+                                  #(ribcage
+                                    (cvt cvt*)
+                                    ((top) (top))
+                                    ("i3714" "i3712"))
+                                  #(ribcage
+                                    #(pattern keys)
+                                    #((top) (top))
+                                    #("i3710" "i3711"))
+                                  #(ribcage
+                                    (gen-syntax-case
+                                      gen-clause
+                                      build-dispatch-call
+                                      convert-pattern)
+                                    ((top) (top) (top) (top))
+                                    ("i3706" "i3704" "i3702" "i3700"))
+                                  #(ribcage
+                                    (lambda-var-list
+                                      gen-var
+                                      strip
+                                      chi-lambda-case
+                                      lambda*-formals
+                                      chi-simple-lambda
+                                      lambda-formals
+                                      ellipsis?
+                                      chi-void
+                                      eval-local-transformer
+                                      chi-local-syntax
+                                      chi-body
+                                      chi-macro
+                                      chi-call
+                                      chi-expr
+                                      chi
+                                      syntax-type
+                                      chi-when-list
+                                      chi-install-global
+                                      chi-top-sequence
+                                      chi-sequence
+                                      source-wrap
+                                      wrap
+                                      bound-id-member?
+                                      distinct-bound-ids?
+                                      valid-bound-ids?
+                                      bound-id=?
+                                      free-id=?
+                                      id-var-name
+                                      same-marks?
+                                      join-marks
+                                      join-wraps
+                                      smart-append
+                                      make-binding-wrap
+                                      extend-ribcage!
+                                      make-empty-ribcage
+                                      new-mark
+                                      anti-mark
+                                      the-anti-mark
+                                      top-marked?
+                                      top-wrap
+                                      empty-wrap
+                                      set-ribcage-labels!
+                                      set-ribcage-marks!
+                                      set-ribcage-symnames!
+                                      ribcage-labels
+                                      ribcage-marks
+                                      ribcage-symnames
+                                      ribcage?
+                                      make-ribcage
+                                      gen-labels
+                                      gen-label
+                                      make-rename
+                                      rename-marks
+                                      rename-new
+                                      rename-old
+                                      subst-rename?
+                                      wrap-subst
+                                      wrap-marks
+                                      make-wrap
+                                      id-sym-name&marks
+                                      id-sym-name
+                                      id?
+                                      nonsymbol-id?
+                                      global-extend
+                                      lookup
+                                      macros-only-env
+                                      extend-var-env
+                                      extend-env
+                                      null-env
+                                      binding-value
+                                      binding-type
+                                      make-binding
+                                      arg-check
+                                      source-annotation
+                                      no-source
+                                      set-syntax-object-module!
+                                      set-syntax-object-wrap!
+                                      set-syntax-object-expression!
+                                      syntax-object-module
+                                      syntax-object-wrap
+                                      syntax-object-expression
+                                      syntax-object?
+                                      make-syntax-object
+                                      build-lexical-var
+                                      build-letrec
+                                      build-named-let
+                                      build-let
+                                      build-sequence
+                                      build-data
+                                      build-primref
+                                      build-primcall
+                                      build-lambda-case
+                                      build-case-lambda
+                                      build-simple-lambda
+                                      build-global-definition
+                                      build-global-assignment
+                                      build-global-reference
+                                      analyze-variable
+                                      build-lexical-assignment
+                                      build-lexical-reference
+                                      build-dynlet
+                                      build-conditional
+                                      build-call
+                                      build-void
+                                      maybe-name-value!
+                                      decorate-source
+                                      get-global-definition-hook
+                                      put-global-definition-hook
+                                      gensym-hook
+                                      local-eval-hook
+                                      top-level-eval-hook
+                                      fx<
+                                      fx=
+                                      fx-
+                                      fx+
+                                      set-lambda-meta!
+                                      lambda-meta
+                                      lambda?
+                                      make-dynlet
+                                      make-letrec
+                                      make-let
+                                      make-lambda-case
+                                      make-lambda
+                                      make-seq
+                                      make-primcall
+                                      make-call
+                                      make-conditional
+                                      make-toplevel-define
+                                      make-toplevel-set
+                                      make-toplevel-ref
+                                      make-module-set
+                                      make-module-ref
+                                      make-lexical-set
+                                      make-lexical-ref
+                                      make-primitive-ref
+                                      make-const
+                                      make-void)
+                                    ((top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top)
+                                     (top))
+                                    ("i452"
+                                     "i450"
+                                     "i448"
+                                     "i446"
+                                     "i444"
+                                     "i442"
+                                     "i440"
+                                     "i438"
+                                     "i436"
+                                     "i434"
+                                     "i432"
+                                     "i430"
+                                     "i428"
+                                     "i426"
+                                     "i424"
+                                     "i422"
+                                     "i420"
+                                     "i418"
+                                     "i416"
+                                     "i414"
+                                     "i412"
+                                     "i410"
+                                     "i408"
+                                     "i406"
+                                     "i404"
+                                     "i402"
+                                     "i400"
+                                     "i398"
+                                     "i396"
+                                     "i394"
+                                     "i392"
+                                     "i390"
+                                     "i388"
+                                     "i386"
+                                     "i384"
+                                     "i383"
+                                     "i382"
+                                     "i380"
+                                     "i379"
+                                     "i378"
+                                     "i377"
+                                     "i376"
+                                     "i374"
+                                     "i372"
+                                     "i370"
+                                     "i368"
+                                     "i366"
+                                     "i364"
+                                     "i362"
+                                     "i360"
+                                     "i357"
+                                     "i355"
+                                     "i354"
+                                     "i353"
+                                     "i352"
+                                     "i351"
+                                     "i350"
+                                     "i349"
+                                     "i348"
+                                     "i347"
+                                     "i345"
+                                     "i344"
+                                     "i342"
+                                     "i340"
+                                     "i338"
+                                     "i336"
+                                     "i334"
+                                     "i332"
+                                     "i330"
+                                     "i329"
+                                     "i328"
+                                     "i327"
+                                     "i326"
+                                     "i325"
+                                     "i323"
+                                     "i322"
+                                     "i320"
+                                     "i318"
+                                     "i316"
+                                     "i314"
+                                     "i312"
+                                     "i310"
+                                     "i308"
+                                     "i306"
+                                     "i304"
+                                     "i302"
+                                     "i300"
+                                     "i298"
+                                     "i296"
+                                     "i294"
+                                     "i292"
+                                     "i290"
+                                     "i288"
+                                     "i286"
+                                     "i284"
+                                     "i282"
+                                     "i280"
+                                     "i278"
+                                     "i276"
+                                     "i274"
+                                     "i272"
+                                     "i270"
+                                     "i268"
+                                     "i266"
+                                     "i264"
+                                     "i262"
+                                     "i260"
+                                     "i258"
+                                     "i256"
+                                     "i255"
+                                     "i253"
+                                     "i251"
+                                     "i250"
+                                     "i249"
+                                     "i248"
+                                     "i247"
+                                     "i245"
+                                     "i243"
+                                     "i241"
+                                     "i238"
+                                     "i236"
+                                     "i234"
+                                     "i232"
+                                     "i230"
+                                     "i228"
+                                     "i226"
+                                     "i224"
+                                     "i222"
+                                     "i220"
+                                     "i218"
+                                     "i216"
+                                     "i214"
+                                     "i212"
+                                     "i210"
+                                     "i208"
+                                     "i206"
+                                     "i204"
+                                     "i202"))
+                                  #(ribcage
+                                    (define-structure
+                                      define-expansion-accessors
+                                      define-expansion-constructors)
+                                    ((top) (top) (top))
+                                    ("i40" "i39" "i38")))
+                                 (hygiene guile)))
+                          (values '_ #{ids 3732}#)
+                          (values
+                            'any
+                            (cons (cons #{p 3730}# #{n 3731}#) #{ids 3732}#))))
+                      (let ((#{tmp 3741}# #{p 3730}#))
+                        (let ((#{tmp 3742}#
+                                ($sc-dispatch #{tmp 3741}# '(any any))))
+                          (if (if #{tmp 3742}#
+                                (@apply
+                                  (lambda (#{x 3745}# #{dots 3746}#)
+                                    (#{ellipsis? 439}# #{dots 3746}#))
+                                  #{tmp 3742}#)
+                                #f)
+                            (@apply
+                              (lambda (#{x 3749}# #{dots 3750}#)
+                                (call-with-values
+                                  (lambda ()
+                                    (#{cvt 3715}#
+                                      #{x 3749}#
+                                      (#{1+}# #{n 3731}#)
+                                      #{ids 3732}#))
+                                  (lambda (#{p 3752}# #{ids 3753}#)
+                                    (values
+                                      (if (eq? #{p 3752}# 'any)
+                                        'each-any
+                                        (vector 'each #{p 3752}#))
+                                      #{ids 3753}#))))
+                              #{tmp 3742}#)
+                            (let ((#{tmp 3756}#
+                                    ($sc-dispatch
+                                      #{tmp 3741}#
+                                      '(any any . each-any))))
+                              (if (if #{tmp 3756}#
+                                    (@apply
+                                      (lambda (#{x 3760}#
+                                               #{dots 3761}#
+                                               #{ys 3762}#)
+                                        (#{ellipsis? 439}# #{dots 3761}#))
+                                      #{tmp 3756}#)
+                                    #f)
+                                (@apply
+                                  (lambda (#{x 3766}#
+                                           #{dots 3767}#
+                                           #{ys 3768}#)
+                                    (call-with-values
+                                      (lambda ()
+                                        (#{cvt* 3713}#
+                                          #{ys 3768}#
+                                          #{n 3731}#
+                                          #{ids 3732}#))
+                                      (lambda (#{ys 3770}# #{ids 3771}#)
+                                        (call-with-values
+                                          (lambda ()
+                                            (#{cvt 3715}#
+                                              #{x 3766}#
+                                              (#{1+}# #{n 3731}#)
+                                              #{ids 3771}#))
+                                          (lambda (#{x 3774}# #{ids 3775}#)
+                                            (values
+                                              (vector
+                                                'each+
+                                                #{x 3774}#
+                                                (reverse #{ys 3770}#)
+                                                '())
+                                              #{ids 3775}#))))))
+                                  #{tmp 3756}#)
+                                (let ((#{tmp 3779}#
+                                        ($sc-dispatch
+                                          #{tmp 3741}#
+                                          '(any . any))))
+                                  (if #{tmp 3779}#
+                                    (@apply
+                                      (lambda (#{x 3782}# #{y 3783}#)
+                                        (call-with-values
+                                          (lambda ()
+                                            (#{cvt 3715}#
+                                              #{y 3783}#
+                                              #{n 3731}#
+                                              #{ids 3732}#))
+                                          (lambda (#{y 3784}# #{ids 3785}#)
+                                            (call-with-values
+                                              (lambda ()
+                                                (#{cvt 3715}#
+                                                  #{x 3782}#
+                                                  #{n 3731}#
+                                                  #{ids 3785}#))
+                                              (lambda (#{x 3788}# #{ids 3789}#)
+                                                (values
+                                                  (cons #{x 3788}# #{y 3784}#)
+                                                  #{ids 3789}#))))))
+                                      #{tmp 3779}#)
+                                    (let ((#{tmp 3792}#
+                                            ($sc-dispatch #{tmp 3741}# '())))
+                                      (if #{tmp 3792}#
+                                        (@apply
+                                          (lambda () (values '() #{ids 3732}#))
+                                          #{tmp 3792}#)
+                                        (let ((#{tmp 3793}#
+                                                ($sc-dispatch
+                                                  #{tmp 3741}#
+                                                  '#(vector each-any))))
+                                          (if #{tmp 3793}#
+                                            (@apply
+                                              (lambda (#{x 3795}#)
+                                                (call-with-values
+                                                  (lambda ()
+                                                    (#{cvt 3715}#
+                                                      #{x 3795}#
+                                                      #{n 3731}#
+                                                      #{ids 3732}#))
+                                                  (lambda (#{p 3797}#
+                                                           #{ids 3798}#)
+                                                    (values
+                                                      (vector
+                                                        'vector
+                                                        #{p 3797}#)
+                                                      #{ids 3798}#))))
+                                              #{tmp 3793}#)
+                                            (let ((#{x 3802}# #{tmp 3741}#))
                                               (values
                                                 (vector
-                                                  'each+
-                                                  #{x 3772}#
-                                                  (reverse #{ys 3768}#)
-                                                  '())
-                                                #{ids 3773}#))))))
-                                    #{tmp 3754}#)
-                                  (let ((#{tmp 3777}#
-                                          ($sc-dispatch
-                                            #{tmp 3739}#
-                                            '(any . any))))
-                                    (if #{tmp 3777}#
-                                      (@apply
-                                        (lambda (#{x 3780}# #{y 3781}#)
-                                          (call-with-values
-                                            (lambda ()
-                                              (#{cvt 3713}#
-                                                #{y 3781}#
-                                                #{n 3729}#
-                                                #{ids 3730}#))
-                                            (lambda (#{y 3782}# #{ids 3783}#)
-                                              (call-with-values
-                                                (lambda ()
-                                                  (#{cvt 3713}#
-                                                    #{x 3780}#
-                                                    #{n 3729}#
-                                                    #{ids 3783}#))
-                                                (lambda (#{x 3786}#
-                                                         #{ids 3787}#)
-                                                  (values
-                                                    (cons #{x 3786}#
-                                                          #{y 3782}#)
-                                                    #{ids 3787}#))))))
-                                        #{tmp 3777}#)
-                                      (let ((#{tmp 3790}#
-                                              ($sc-dispatch #{tmp 3739}# '())))
-                                        (if #{tmp 3790}#
-                                          (@apply
-                                            (lambda ()
-                                              (values '() #{ids 3730}#))
-                                            #{tmp 3790}#)
-                                          (let ((#{tmp 3791}#
-                                                  ($sc-dispatch
-                                                    #{tmp 3739}#
-                                                    '#(vector each-any))))
-                                            (if #{tmp 3791}#
-                                              (@apply
-                                                (lambda (#{x 3793}#)
-                                                  (call-with-values
-                                                    (lambda ()
-                                                      (#{cvt 3713}#
-                                                        #{x 3793}#
-                                                        #{n 3729}#
-                                                        #{ids 3730}#))
-                                                    (lambda (#{p 3795}#
-                                                             #{ids 3796}#)
-                                                      (values
-                                                        (vector
-                                                          'vector
-                                                          #{p 3795}#)
-                                                        #{ids 3796}#))))
-                                                #{tmp 3791}#)
-                                              (let ((#{x 3800}# #{tmp 3739}#))
-                                                (values
-                                                  (vector
-                                                    'atom
-                                                    (#{strip 449}#
-                                                      #{p 3728}#
-                                                      '(())))
-                                                  #{ids 3730}#)))))))))))))))))
-                 (begin (#{cvt 3713}# #{pattern 3706}# 0 '())))))
-           (#{build-dispatch-call 3701}#
-             (lambda (#{pvars 3802}#
-                      #{exp 3803}#
-                      #{y 3804}#
-                      #{r 3805}#
-                      #{mod 3806}#)
-               (begin
-                 (map cdr #{pvars 3802}#)
-                 (let ((#{ids 3814}# (map car #{pvars 3802}#)))
-                   (begin
-                     (let ((#{labels 3818}#
-                             (#{gen-labels 358}# #{ids 3814}#))
-                           (#{new-vars 3819}#
-                             (map #{gen-var 451}# #{ids 3814}#)))
-                       (#{build-primcall 291}#
-                         #f
-                         'apply
-                         (list (#{build-simple-lambda 285}#
-                                 #f
-                                 (map syntax->datum #{ids 3814}#)
-                                 #f
-                                 #{new-vars 3819}#
-                                 '()
-                                 (#{chi 423}#
-                                   #{exp 3803}#
-                                   (#{extend-env 331}#
-                                     #{labels 3818}#
-                                     (map (lambda (#{var 3822}# #{level 3823}#)
-                                            (cons 'syntax
-                                                  (cons #{var 3822}#
-                                                        #{level 3823}#)))
-                                          #{new-vars 3819}#
-                                          (map cdr #{pvars 3802}#))
-                                     #{r 3805}#)
-                                   (#{make-binding-wrap 387}#
-                                     #{ids 3814}#
-                                     #{labels 3818}#
-                                     '(()))
-                                   #{mod 3806}#))
-                               #{y 3804}#))))))))
-           (#{gen-clause 3703}#
-             (lambda (#{x 3829}#
-                      #{keys 3830}#
-                      #{clauses 3831}#
-                      #{r 3832}#
-                      #{pat 3833}#
-                      #{fender 3834}#
-                      #{exp 3835}#
-                      #{mod 3836}#)
-               (call-with-values
-                 (lambda ()
-                   (#{convert-pattern 3699}#
-                     #{pat 3833}#
-                     #{keys 3830}#))
-                 (lambda (#{p 3845}# #{pvars 3846}#)
-                   (if (not (#{distinct-bound-ids? 405}#
-                              (map car #{pvars 3846}#)))
+                                                  'atom
+                                                  (#{strip 449}#
+                                                    #{p 3730}#
+                                                    '(())))
+                                                #{ids 3732}#)))))))))))))))))
+               (#{cvt 3715}# #{pattern 3708}# 0 '()))))
+         (#{build-dispatch-call 3703}#
+           (lambda (#{pvars 3804}#
+                    #{exp 3805}#
+                    #{y 3806}#
+                    #{r 3807}#
+                    #{mod 3808}#)
+             (begin
+               (map cdr #{pvars 3804}#)
+               (let ((#{ids 3816}# (map car #{pvars 3804}#)))
+                 (let ((#{labels 3820}#
+                         (#{gen-labels 358}# #{ids 3816}#))
+                       (#{new-vars 3821}#
+                         (map #{gen-var 451}# #{ids 3816}#)))
+                   (#{build-primcall 291}#
+                     #f
+                     'apply
+                     (list (#{build-simple-lambda 285}#
+                             #f
+                             (map syntax->datum #{ids 3816}#)
+                             #f
+                             #{new-vars 3821}#
+                             '()
+                             (#{chi 423}#
+                               #{exp 3805}#
+                               (#{extend-env 331}#
+                                 #{labels 3820}#
+                                 (map (lambda (#{var 3824}# #{level 3825}#)
+                                        (cons 'syntax
+                                              (cons #{var 3824}#
+                                                    #{level 3825}#)))
+                                      #{new-vars 3821}#
+                                      (map cdr #{pvars 3804}#))
+                                 #{r 3807}#)
+                               (#{make-binding-wrap 387}#
+                                 #{ids 3816}#
+                                 #{labels 3820}#
+                                 '(()))
+                               #{mod 3808}#))
+                           #{y 3806}#)))))))
+         (#{gen-clause 3705}#
+           (lambda (#{x 3831}#
+                    #{keys 3832}#
+                    #{clauses 3833}#
+                    #{r 3834}#
+                    #{pat 3835}#
+                    #{fender 3836}#
+                    #{exp 3837}#
+                    #{mod 3838}#)
+             (call-with-values
+               (lambda ()
+                 (#{convert-pattern 3701}#
+                   #{pat 3835}#
+                   #{keys 3832}#))
+               (lambda (#{p 3847}# #{pvars 3848}#)
+                 (if (not (#{distinct-bound-ids? 405}#
+                            (map car #{pvars 3848}#)))
+                   (syntax-violation
+                     'syntax-case
+                     "duplicate pattern variable"
+                     #{pat 3835}#)
+                   (if (not (and-map
+                              (lambda (#{x 3855}#)
+                                (not (#{ellipsis? 439}# (car #{x 3855}#))))
+                              #{pvars 3848}#))
                      (syntax-violation
                        'syntax-case
-                       "duplicate pattern variable"
-                       #{pat 3833}#)
-                     (if (not (and-map
-                                (lambda (#{x 3853}#)
-                                  (not (#{ellipsis? 439}# (car #{x 3853}#))))
-                                #{pvars 3846}#))
-                       (syntax-violation
-                         'syntax-case
-                         "misplaced ellipsis"
-                         #{pat 3833}#)
-                       (begin
-                         (let ((#{y 3857}# (#{gen-var 451}# 'tmp)))
-                           (#{build-call 267}#
-                             #f
-                             (#{build-simple-lambda 285}#
-                               #f
-                               (list 'tmp)
-                               #f
-                               (list #{y 3857}#)
-                               '()
-                               (begin
-                                 (let ((#{y 3861}#
-                                         (#{build-lexical-reference 273}#
-                                           'value
-                                           #f
-                                           'tmp
-                                           #{y 3857}#)))
-                                   (#{build-conditional 269}#
-                                     #f
-                                     (let ((#{tmp 3864}# #{fender 3834}#))
-                                       (let ((#{tmp 3865}#
-                                               ($sc-dispatch
-                                                 #{tmp 3864}#
-                                                 '#(atom #t))))
-                                         (if #{tmp 3865}#
-                                           (@apply
-                                             (lambda () #{y 3861}#)
-                                             #{tmp 3865}#)
-                                           (let ((#{_ 3867}# #{tmp 3864}#))
-                                             (#{build-conditional 269}#
-                                               #f
-                                               #{y 3861}#
-                                               (#{build-dispatch-call 3701}#
-                                                 #{pvars 3846}#
-                                                 #{fender 3834}#
-                                                 #{y 3861}#
-                                                 #{r 3832}#
-                                                 #{mod 3836}#)
-                                               (#{build-data 295}# #f #f))))))
-                                     (#{build-dispatch-call 3701}#
-                                       #{pvars 3846}#
-                                       #{exp 3835}#
-                                       #{y 3861}#
-                                       #{r 3832}#
-                                       #{mod 3836}#)
-                                     (#{gen-syntax-case 3705}#
-                                       #{x 3829}#
-                                       #{keys 3830}#
-                                       #{clauses 3831}#
-                                       #{r 3832}#
-                                       #{mod 3836}#)))))
-                             (list (if (eq? #{p 3845}# 'any)
-                                     (#{build-primcall 291}#
-                                       #f
-                                       'list
-                                       (list #{x 3829}#))
-                                     (#{build-primcall 291}#
-                                       #f
-                                       '$sc-dispatch
-                                       (list #{x 3829}#
-                                             (#{build-data 295}#
-                                               #f
-                                               #{p 3845}#))))))))))))))
-           (#{gen-syntax-case 3705}#
-             (lambda (#{x 3873}#
-                      #{keys 3874}#
-                      #{clauses 3875}#
-                      #{r 3876}#
-                      #{mod 3877}#)
-               (if (null? #{clauses 3875}#)
-                 (#{build-primcall 291}#
-                   #f
-                   'syntax-violation
-                   (list (#{build-data 295}# #f #f)
-                         (#{build-data 295}#
+                       "misplaced ellipsis"
+                       #{pat 3835}#)
+                     (let ((#{y 3859}# (#{gen-var 451}# 'tmp)))
+                       (#{build-call 267}#
+                         #f
+                         (#{build-simple-lambda 285}#
                            #f
-                           "source expression failed to match any pattern")
-                         #{x 3873}#))
-                 (let ((#{tmp 3886}# (car #{clauses 3875}#)))
-                   (let ((#{tmp 3887}#
-                           ($sc-dispatch #{tmp 3886}# '(any any))))
-                     (if #{tmp 3887}#
-                       (@apply
-                         (lambda (#{pat 3890}# #{exp 3891}#)
-                           (if (if (#{id? 343}# #{pat 3890}#)
-                                 (and-map
-                                   (lambda (#{x 3894}#)
-                                     (not (#{free-id=? 399}#
-                                            #{pat 3890}#
-                                            #{x 3894}#)))
-                                   (cons '#(syntax-object
-                                            ...
-                                            ((top)
-                                             #(ribcage
-                                               #(pat exp)
-                                               #((top) (top))
-                                               #("i3888" "i3889"))
-                                             #(ribcage () () ())
-                                             #(ribcage
-                                               #(x keys clauses r mod)
-                                               #((top) (top) (top) (top) (top))
-                                               #("i3878"
-                                                 "i3879"
-                                                 "i3880"
-                                                 "i3881"
-                                                 "i3882"))
-                                             #(ribcage
-                                               (gen-syntax-case
-                                                 gen-clause
-                                                 build-dispatch-call
-                                                 convert-pattern)
-                                               ((top) (top) (top) (top))
-                                               ("i3704"
-                                                "i3702"
-                                                "i3700"
-                                                "i3698"))
-                                             #(ribcage
-                                               (lambda-var-list
-                                                 gen-var
-                                                 strip
-                                                 chi-lambda-case
-                                                 lambda*-formals
-                                                 chi-simple-lambda
-                                                 lambda-formals
-                                                 ellipsis?
-                                                 chi-void
-                                                 eval-local-transformer
-                                                 chi-local-syntax
-                                                 chi-body
-                                                 chi-macro
-                                                 chi-call
-                                                 chi-expr
-                                                 chi
-                                                 syntax-type
-                                                 chi-when-list
-                                                 chi-install-global
-                                                 chi-top-sequence
-                                                 chi-sequence
-                                                 source-wrap
-                                                 wrap
-                                                 bound-id-member?
-                                                 distinct-bound-ids?
-                                                 valid-bound-ids?
-                                                 bound-id=?
-                                                 free-id=?
-                                                 id-var-name
-                                                 same-marks?
-                                                 join-marks
-                                                 join-wraps
-                                                 smart-append
-                                                 make-binding-wrap
-                                                 extend-ribcage!
-                                                 make-empty-ribcage
-                                                 new-mark
-                                                 anti-mark
-                                                 the-anti-mark
-                                                 top-marked?
-                                                 top-wrap
-                                                 empty-wrap
-                                                 set-ribcage-labels!
-                                                 set-ribcage-marks!
-                                                 set-ribcage-symnames!
-                                                 ribcage-labels
-                                                 ribcage-marks
-                                                 ribcage-symnames
-                                                 ribcage?
-                                                 make-ribcage
-                                                 gen-labels
-                                                 gen-label
-                                                 make-rename
-                                                 rename-marks
-                                                 rename-new
-                                                 rename-old
-                                                 subst-rename?
-                                                 wrap-subst
-                                                 wrap-marks
-                                                 make-wrap
-                                                 id-sym-name&marks
-                                                 id-sym-name
-                                                 id?
-                                                 nonsymbol-id?
-                                                 global-extend
-                                                 lookup
-                                                 macros-only-env
-                                                 extend-var-env
-                                                 extend-env
-                                                 null-env
-                                                 binding-value
-                                                 binding-type
-                                                 make-binding
-                                                 arg-check
-                                                 source-annotation
-                                                 no-source
-                                                 set-syntax-object-module!
-                                                 set-syntax-object-wrap!
-                                                 set-syntax-object-expression!
-                                                 syntax-object-module
-                                                 syntax-object-wrap
-                                                 syntax-object-expression
-                                                 syntax-object?
-                                                 make-syntax-object
-                                                 build-lexical-var
-                                                 build-letrec
-                                                 build-named-let
-                                                 build-let
-                                                 build-sequence
-                                                 build-data
-                                                 build-primref
-                                                 build-primcall
-                                                 build-lambda-case
-                                                 build-case-lambda
-                                                 build-simple-lambda
-                                                 build-global-definition
-                                                 build-global-assignment
-                                                 build-global-reference
-                                                 analyze-variable
-                                                 build-lexical-assignment
-                                                 build-lexical-reference
-                                                 build-dynlet
-                                                 build-conditional
-                                                 build-call
-                                                 build-void
-                                                 maybe-name-value!
-                                                 decorate-source
-                                                 get-global-definition-hook
-                                                 put-global-definition-hook
-                                                 gensym-hook
-                                                 local-eval-hook
-                                                 top-level-eval-hook
-                                                 fx<
-                                                 fx=
-                                                 fx-
-                                                 fx+
-                                                 set-lambda-meta!
-                                                 lambda-meta
-                                                 lambda?
-                                                 make-dynlet
-                                                 make-letrec
-                                                 make-let
-                                                 make-lambda-case
-                                                 make-lambda
-                                                 make-sequence
-                                                 make-primcall
-                                                 make-call
-                                                 make-conditional
-                                                 make-toplevel-define
-                                                 make-toplevel-set
-                                                 make-toplevel-ref
-                                                 make-module-set
-                                                 make-module-ref
-                                                 make-lexical-set
-                                                 make-lexical-ref
-                                                 make-primitive-ref
-                                                 make-const
-                                                 make-void)
-                                               ((top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top)
-                                                (top))
-                                               ("i452"
-                                                "i450"
-                                                "i448"
-                                                "i446"
-                                                "i444"
-                                                "i442"
-                                                "i440"
-                                                "i438"
-                                                "i436"
-                                                "i434"
-                                                "i432"
-                                                "i430"
-                                                "i428"
-                                                "i426"
-                                                "i424"
-                                                "i422"
-                                                "i420"
-                                                "i418"
-                                                "i416"
-                                                "i414"
-                                                "i412"
-                                                "i410"
-                                                "i408"
-                                                "i406"
-                                                "i404"
-                                                "i402"
-                                                "i400"
-                                                "i398"
-                                                "i396"
-                                                "i394"
-                                                "i392"
-                                                "i390"
-                                                "i388"
-                                                "i386"
-                                                "i384"
-                                                "i383"
-                                                "i382"
-                                                "i380"
-                                                "i379"
-                                                "i378"
-                                                "i377"
-                                                "i376"
-                                                "i374"
-                                                "i372"
-                                                "i370"
-                                                "i368"
-                                                "i366"
-                                                "i364"
-                                                "i362"
-                                                "i360"
-                                                "i357"
-                                                "i355"
-                                                "i354"
-                                                "i353"
-                                                "i352"
-                                                "i351"
-                                                "i350"
-                                                "i349"
-                                                "i348"
-                                                "i347"
-                                                "i345"
-                                                "i344"
-                                                "i342"
-                                                "i340"
-                                                "i338"
-                                                "i336"
-                                                "i334"
-                                                "i332"
-                                                "i330"
-                                                "i329"
-                                                "i328"
-                                                "i327"
-                                                "i326"
-                                                "i325"
-                                                "i323"
-                                                "i322"
-                                                "i320"
-                                                "i318"
-                                                "i316"
-                                                "i314"
-                                                "i312"
-                                                "i310"
-                                                "i308"
-                                                "i306"
-                                                "i304"
-                                                "i302"
-                                                "i300"
-                                                "i298"
-                                                "i296"
-                                                "i294"
-                                                "i292"
-                                                "i290"
-                                                "i288"
-                                                "i286"
-                                                "i284"
-                                                "i282"
-                                                "i280"
-                                                "i278"
-                                                "i276"
-                                                "i274"
-                                                "i272"
-                                                "i270"
-                                                "i268"
-                                                "i266"
-                                                "i264"
-                                                "i262"
-                                                "i260"
-                                                "i258"
-                                                "i256"
-                                                "i255"
-                                                "i253"
-                                                "i251"
-                                                "i250"
-                                                "i249"
-                                                "i248"
-                                                "i247"
-                                                "i245"
-                                                "i243"
-                                                "i241"
-                                                "i238"
-                                                "i236"
-                                                "i234"
-                                                "i232"
-                                                "i230"
-                                                "i228"
-                                                "i226"
-                                                "i224"
-                                                "i222"
-                                                "i220"
-                                                "i218"
-                                                "i216"
-                                                "i214"
-                                                "i212"
-                                                "i210"
-                                                "i208"
-                                                "i206"
-                                                "i204"
-                                                "i202"))
-                                             #(ribcage
-                                               (define-structure
-                                                 define-expansion-accessors
-                                                 define-expansion-constructors)
-                                               ((top) (top) (top))
-                                               ("i40" "i39" "i38")))
-                                            (hygiene guile))
-                                         #{keys 3874}#))
-                                 #f)
-                             (if (#{free-id=? 399}#
-                                   '#(syntax-object
-                                      pad
-                                      ((top)
-                                       #(ribcage
-                                         #(pat exp)
-                                         #((top) (top))
-                                         #("i3888" "i3889"))
-                                       #(ribcage () () ())
-                                       #(ribcage
-                                         #(x keys clauses r mod)
-                                         #((top) (top) (top) (top) (top))
-                                         #("i3878"
-                                           "i3879"
-                                           "i3880"
-                                           "i3881"
-                                           "i3882"))
-                                       #(ribcage
-                                         (gen-syntax-case
-                                           gen-clause
-                                           build-dispatch-call
-                                           convert-pattern)
-                                         ((top) (top) (top) (top))
-                                         ("i3704" "i3702" "i3700" "i3698"))
-                                       #(ribcage
-                                         (lambda-var-list
-                                           gen-var
-                                           strip
-                                           chi-lambda-case
-                                           lambda*-formals
-                                           chi-simple-lambda
-                                           lambda-formals
-                                           ellipsis?
-                                           chi-void
-                                           eval-local-transformer
-                                           chi-local-syntax
-                                           chi-body
-                                           chi-macro
-                                           chi-call
-                                           chi-expr
-                                           chi
-                                           syntax-type
-                                           chi-when-list
-                                           chi-install-global
-                                           chi-top-sequence
-                                           chi-sequence
-                                           source-wrap
-                                           wrap
-                                           bound-id-member?
-                                           distinct-bound-ids?
-                                           valid-bound-ids?
-                                           bound-id=?
-                                           free-id=?
-                                           id-var-name
-                                           same-marks?
-                                           join-marks
-                                           join-wraps
-                                           smart-append
-                                           make-binding-wrap
-                                           extend-ribcage!
-                                           make-empty-ribcage
-                                           new-mark
-                                           anti-mark
-                                           the-anti-mark
-                                           top-marked?
-                                           top-wrap
-                                           empty-wrap
-                                           set-ribcage-labels!
-                                           set-ribcage-marks!
-                                           set-ribcage-symnames!
-                                           ribcage-labels
-                                           ribcage-marks
-                                           ribcage-symnames
-                                           ribcage?
-                                           make-ribcage
-                                           gen-labels
-                                           gen-label
-                                           make-rename
-                                           rename-marks
-                                           rename-new
-                                           rename-old
-                                           subst-rename?
-                                           wrap-subst
-                                           wrap-marks
-                                           make-wrap
-                                           id-sym-name&marks
-                                           id-sym-name
-                                           id?
-                                           nonsymbol-id?
-                                           global-extend
-                                           lookup
-                                           macros-only-env
-                                           extend-var-env
-                                           extend-env
-                                           null-env
-                                           binding-value
-                                           binding-type
-                                           make-binding
-                                           arg-check
-                                           source-annotation
-                                           no-source
-                                           set-syntax-object-module!
-                                           set-syntax-object-wrap!
-                                           set-syntax-object-expression!
-                                           syntax-object-module
-                                           syntax-object-wrap
-                                           syntax-object-expression
-                                           syntax-object?
-                                           make-syntax-object
-                                           build-lexical-var
-                                           build-letrec
-                                           build-named-let
-                                           build-let
-                                           build-sequence
-                                           build-data
-                                           build-primref
-                                           build-primcall
-                                           build-lambda-case
-                                           build-case-lambda
-                                           build-simple-lambda
-                                           build-global-definition
-                                           build-global-assignment
-                                           build-global-reference
-                                           analyze-variable
-                                           build-lexical-assignment
-                                           build-lexical-reference
-                                           build-dynlet
-                                           build-conditional
-                                           build-call
-                                           build-void
-                                           maybe-name-value!
-                                           decorate-source
-                                           get-global-definition-hook
-                                           put-global-definition-hook
-                                           gensym-hook
-                                           local-eval-hook
-                                           top-level-eval-hook
-                                           fx<
-                                           fx=
-                                           fx-
-                                           fx+
-                                           set-lambda-meta!
-                                           lambda-meta
-                                           lambda?
-                                           make-dynlet
-                                           make-letrec
-                                           make-let
-                                           make-lambda-case
-                                           make-lambda
-                                           make-sequence
-                                           make-primcall
-                                           make-call
-                                           make-conditional
-                                           make-toplevel-define
-                                           make-toplevel-set
-                                           make-toplevel-ref
-                                           make-module-set
-                                           make-module-ref
-                                           make-lexical-set
-                                           make-lexical-ref
-                                           make-primitive-ref
-                                           make-const
-                                           make-void)
-                                         ((top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top))
-                                         ("i452"
-                                          "i450"
-                                          "i448"
-                                          "i446"
-                                          "i444"
-                                          "i442"
-                                          "i440"
-                                          "i438"
-                                          "i436"
-                                          "i434"
-                                          "i432"
-                                          "i430"
-                                          "i428"
-                                          "i426"
-                                          "i424"
-                                          "i422"
-                                          "i420"
-                                          "i418"
-                                          "i416"
-                                          "i414"
-                                          "i412"
-                                          "i410"
-                                          "i408"
-                                          "i406"
-                                          "i404"
-                                          "i402"
-                                          "i400"
-                                          "i398"
-                                          "i396"
-                                          "i394"
-                                          "i392"
-                                          "i390"
-                                          "i388"
-                                          "i386"
-                                          "i384"
-                                          "i383"
-                                          "i382"
-                                          "i380"
-                                          "i379"
-                                          "i378"
-                                          "i377"
-                                          "i376"
-                                          "i374"
-                                          "i372"
-                                          "i370"
-                                          "i368"
-                                          "i366"
-                                          "i364"
-                                          "i362"
-                                          "i360"
-                                          "i357"
-                                          "i355"
-                                          "i354"
-                                          "i353"
-                                          "i352"
-                                          "i351"
-                                          "i350"
-                                          "i349"
-                                          "i348"
-                                          "i347"
-                                          "i345"
-                                          "i344"
-                                          "i342"
-                                          "i340"
-                                          "i338"
-                                          "i336"
-                                          "i334"
-                                          "i332"
-                                          "i330"
-                                          "i329"
-                                          "i328"
-                                          "i327"
-                                          "i326"
-                                          "i325"
-                                          "i323"
-                                          "i322"
-                                          "i320"
-                                          "i318"
-                                          "i316"
-                                          "i314"
-                                          "i312"
-                                          "i310"
-                                          "i308"
-                                          "i306"
-                                          "i304"
-                                          "i302"
-                                          "i300"
-                                          "i298"
-                                          "i296"
-                                          "i294"
-                                          "i292"
-                                          "i290"
-                                          "i288"
-                                          "i286"
-                                          "i284"
-                                          "i282"
-                                          "i280"
-                                          "i278"
-                                          "i276"
-                                          "i274"
-                                          "i272"
-                                          "i270"
-                                          "i268"
-                                          "i266"
-                                          "i264"
-                                          "i262"
-                                          "i260"
-                                          "i258"
-                                          "i256"
-                                          "i255"
-                                          "i253"
-                                          "i251"
-                                          "i250"
-                                          "i249"
-                                          "i248"
-                                          "i247"
-                                          "i245"
-                                          "i243"
-                                          "i241"
-                                          "i238"
-                                          "i236"
-                                          "i234"
-                                          "i232"
-                                          "i230"
-                                          "i228"
-                                          "i226"
-                                          "i224"
-                                          "i222"
-                                          "i220"
-                                          "i218"
-                                          "i216"
-                                          "i214"
-                                          "i212"
-                                          "i210"
-                                          "i208"
-                                          "i206"
-                                          "i204"
-                                          "i202"))
-                                       #(ribcage
-                                         (define-structure
-                                           define-expansion-accessors
-                                           define-expansion-constructors)
-                                         ((top) (top) (top))
-                                         ("i40" "i39" "i38")))
-                                      (hygiene guile))
-                                   '#(syntax-object
-                                      _
-                                      ((top)
-                                       #(ribcage
-                                         #(pat exp)
-                                         #((top) (top))
-                                         #("i3888" "i3889"))
-                                       #(ribcage () () ())
-                                       #(ribcage
-                                         #(x keys clauses r mod)
-                                         #((top) (top) (top) (top) (top))
-                                         #("i3878"
-                                           "i3879"
-                                           "i3880"
-                                           "i3881"
-                                           "i3882"))
-                                       #(ribcage
-                                         (gen-syntax-case
-                                           gen-clause
-                                           build-dispatch-call
-                                           convert-pattern)
-                                         ((top) (top) (top) (top))
-                                         ("i3704" "i3702" "i3700" "i3698"))
-                                       #(ribcage
-                                         (lambda-var-list
-                                           gen-var
-                                           strip
-                                           chi-lambda-case
-                                           lambda*-formals
-                                           chi-simple-lambda
-                                           lambda-formals
-                                           ellipsis?
-                                           chi-void
-                                           eval-local-transformer
-                                           chi-local-syntax
-                                           chi-body
-                                           chi-macro
-                                           chi-call
-                                           chi-expr
-                                           chi
-                                           syntax-type
-                                           chi-when-list
-                                           chi-install-global
-                                           chi-top-sequence
-                                           chi-sequence
-                                           source-wrap
-                                           wrap
-                                           bound-id-member?
-                                           distinct-bound-ids?
-                                           valid-bound-ids?
-                                           bound-id=?
-                                           free-id=?
-                                           id-var-name
-                                           same-marks?
-                                           join-marks
-                                           join-wraps
-                                           smart-append
-                                           make-binding-wrap
-                                           extend-ribcage!
-                                           make-empty-ribcage
-                                           new-mark
-                                           anti-mark
-                                           the-anti-mark
-                                           top-marked?
-                                           top-wrap
-                                           empty-wrap
-                                           set-ribcage-labels!
-                                           set-ribcage-marks!
-                                           set-ribcage-symnames!
-                                           ribcage-labels
-                                           ribcage-marks
-                                           ribcage-symnames
-                                           ribcage?
-                                           make-ribcage
-                                           gen-labels
-                                           gen-label
-                                           make-rename
-                                           rename-marks
-                                           rename-new
-                                           rename-old
-                                           subst-rename?
-                                           wrap-subst
-                                           wrap-marks
-                                           make-wrap
-                                           id-sym-name&marks
-                                           id-sym-name
-                                           id?
-                                           nonsymbol-id?
-                                           global-extend
-                                           lookup
-                                           macros-only-env
-                                           extend-var-env
-                                           extend-env
-                                           null-env
-                                           binding-value
-                                           binding-type
-                                           make-binding
-                                           arg-check
-                                           source-annotation
-                                           no-source
-                                           set-syntax-object-module!
-                                           set-syntax-object-wrap!
-                                           set-syntax-object-expression!
-                                           syntax-object-module
-                                           syntax-object-wrap
-                                           syntax-object-expression
-                                           syntax-object?
-                                           make-syntax-object
-                                           build-lexical-var
-                                           build-letrec
-                                           build-named-let
-                                           build-let
-                                           build-sequence
-                                           build-data
-                                           build-primref
-                                           build-primcall
-                                           build-lambda-case
-                                           build-case-lambda
-                                           build-simple-lambda
-                                           build-global-definition
-                                           build-global-assignment
-                                           build-global-reference
-                                           analyze-variable
-                                           build-lexical-assignment
-                                           build-lexical-reference
-                                           build-dynlet
-                                           build-conditional
-                                           build-call
-                                           build-void
-                                           maybe-name-value!
-                                           decorate-source
-                                           get-global-definition-hook
-                                           put-global-definition-hook
-                                           gensym-hook
-                                           local-eval-hook
-                                           top-level-eval-hook
-                                           fx<
-                                           fx=
-                                           fx-
-                                           fx+
-                                           set-lambda-meta!
-                                           lambda-meta
-                                           lambda?
-                                           make-dynlet
-                                           make-letrec
-                                           make-let
-                                           make-lambda-case
-                                           make-lambda
-                                           make-sequence
-                                           make-primcall
-                                           make-call
-                                           make-conditional
-                                           make-toplevel-define
-                                           make-toplevel-set
-                                           make-toplevel-ref
-                                           make-module-set
-                                           make-module-ref
-                                           make-lexical-set
-                                           make-lexical-ref
-                                           make-primitive-ref
-                                           make-const
-                                           make-void)
-                                         ((top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top))
-                                         ("i452"
-                                          "i450"
-                                          "i448"
-                                          "i446"
-                                          "i444"
-                                          "i442"
-                                          "i440"
-                                          "i438"
-                                          "i436"
-                                          "i434"
-                                          "i432"
-                                          "i430"
-                                          "i428"
-                                          "i426"
-                                          "i424"
-                                          "i422"
-                                          "i420"
-                                          "i418"
-                                          "i416"
-                                          "i414"
-                                          "i412"
-                                          "i410"
-                                          "i408"
-                                          "i406"
-                                          "i404"
-                                          "i402"
-                                          "i400"
-                                          "i398"
-                                          "i396"
-                                          "i394"
-                                          "i392"
-                                          "i390"
-                                          "i388"
-                                          "i386"
-                                          "i384"
-                                          "i383"
-                                          "i382"
-                                          "i380"
-                                          "i379"
-                                          "i378"
-                                          "i377"
-                                          "i376"
-                                          "i374"
-                                          "i372"
-                                          "i370"
-                                          "i368"
-                                          "i366"
-                                          "i364"
-                                          "i362"
-                                          "i360"
-                                          "i357"
-                                          "i355"
-                                          "i354"
-                                          "i353"
-                                          "i352"
-                                          "i351"
-                                          "i350"
-                                          "i349"
-                                          "i348"
-                                          "i347"
-                                          "i345"
-                                          "i344"
-                                          "i342"
-                                          "i340"
-                                          "i338"
-                                          "i336"
-                                          "i334"
-                                          "i332"
-                                          "i330"
-                                          "i329"
-                                          "i328"
-                                          "i327"
-                                          "i326"
-                                          "i325"
-                                          "i323"
-                                          "i322"
-                                          "i320"
-                                          "i318"
-                                          "i316"
-                                          "i314"
-                                          "i312"
-                                          "i310"
-                                          "i308"
-                                          "i306"
-                                          "i304"
-                                          "i302"
-                                          "i300"
-                                          "i298"
-                                          "i296"
-                                          "i294"
-                                          "i292"
-                                          "i290"
-                                          "i288"
-                                          "i286"
-                                          "i284"
-                                          "i282"
-                                          "i280"
-                                          "i278"
-                                          "i276"
-                                          "i274"
-                                          "i272"
-                                          "i270"
-                                          "i268"
-                                          "i266"
-                                          "i264"
-                                          "i262"
-                                          "i260"
-                                          "i258"
-                                          "i256"
-                                          "i255"
-                                          "i253"
-                                          "i251"
-                                          "i250"
-                                          "i249"
-                                          "i248"
-                                          "i247"
-                                          "i245"
-                                          "i243"
-                                          "i241"
-                                          "i238"
-                                          "i236"
-                                          "i234"
-                                          "i232"
-                                          "i230"
-                                          "i228"
-                                          "i226"
-                                          "i224"
-                                          "i222"
-                                          "i220"
-                                          "i218"
-                                          "i216"
-                                          "i214"
-                                          "i212"
-                                          "i210"
-                                          "i208"
-                                          "i206"
-                                          "i204"
-                                          "i202"))
-                                       #(ribcage
-                                         (define-structure
-                                           define-expansion-accessors
-                                           define-expansion-constructors)
-                                         ((top) (top) (top))
-                                         ("i40" "i39" "i38")))
-                                      (hygiene guile)))
-                               (#{chi 423}#
-                                 #{exp 3891}#
-                                 #{r 3876}#
-                                 '(())
-                                 #{mod 3877}#)
-                               (begin
-                                 (let ((#{labels 3899}#
-                                         (list (#{gen-label 356}#)))
-                                       (#{var 3900}#
-                                         (#{gen-var 451}# #{pat 3890}#)))
-                                   (#{build-call 267}#
+                           (list 'tmp)
+                           #f
+                           (list #{y 3859}#)
+                           '()
+                           (let ((#{y 3863}#
+                                   (#{build-lexical-reference 273}#
+                                     'value
                                      #f
-                                     (#{build-simple-lambda 285}#
-                                       #f
-                                       (list (syntax->datum #{pat 3890}#))
-                                       #f
-                                       (list #{var 3900}#)
-                                       '()
-                                       (#{chi 423}#
-                                         #{exp 3891}#
-                                         (#{extend-env 331}#
-                                           #{labels 3899}#
-                                           (list (cons 'syntax
-                                                       (cons #{var 3900}# 0)))
-                                           #{r 3876}#)
-                                         (#{make-binding-wrap 387}#
-                                           (list #{pat 3890}#)
-                                           #{labels 3899}#
-                                           '(()))
-                                         #{mod 3877}#))
-                                     (list #{x 3873}#)))))
-                             (#{gen-clause 3703}#
-                               #{x 3873}#
-                               #{keys 3874}#
-                               (cdr #{clauses 3875}#)
-                               #{r 3876}#
-                               #{pat 3890}#
-                               #t
-                               #{exp 3891}#
-                               #{mod 3877}#)))
-                         #{tmp 3887}#)
-                       (let ((#{tmp 3906}#
-                               ($sc-dispatch #{tmp 3886}# '(any any any))))
-                         (if #{tmp 3906}#
-                           (@apply
-                             (lambda (#{pat 3910}#
-                                      #{fender 3911}#
-                                      #{exp 3912}#)
-                               (#{gen-clause 3703}#
-                                 #{x 3873}#
-                                 #{keys 3874}#
-                                 (cdr #{clauses 3875}#)
-                                 #{r 3876}#
-                                 #{pat 3910}#
-                                 #{fender 3911}#
-                                 #{exp 3912}#
-                                 #{mod 3877}#))
-                             #{tmp 3906}#)
-                           (let ((#{_ 3914}# #{tmp 3886}#))
-                             (syntax-violation
-                               'syntax-case
-                               "invalid clause"
-                               (car #{clauses 3875}#))))))))))))
-          (begin
-            (lambda (#{e 3915}#
-                     #{r 3916}#
-                     #{w 3917}#
-                     #{s 3918}#
-                     #{mod 3919}#)
-              (begin
-                (let ((#{e 3926}#
-                        (#{source-wrap 411}#
-                          #{e 3915}#
-                          #{w 3917}#
-                          #{s 3918}#
-                          #{mod 3919}#)))
-                  (let ((#{tmp 3927}# #{e 3926}#))
-                    (let ((#{tmp 3928}#
-                            ($sc-dispatch
-                              #{tmp 3927}#
-                              '(_ any each-any . each-any))))
-                      (if #{tmp 3928}#
-                        (@apply
-                          (lambda (#{val 3932}# #{key 3933}# #{m 3934}#)
-                            (if (and-map
-                                  (lambda (#{x 3935}#)
-                                    (if (#{id? 343}# #{x 3935}#)
-                                      (not (#{ellipsis? 439}# #{x 3935}#))
-                                      #f))
-                                  #{key 3933}#)
-                              (begin
-                                (let ((#{x 3941}# (#{gen-var 451}# 'tmp)))
-                                  (#{build-call 267}#
-                                    #{s 3918}#
-                                    (#{build-simple-lambda 285}#
-                                      #f
-                                      (list 'tmp)
-                                      #f
-                                      (list #{x 3941}#)
-                                      '()
-                                      (#{gen-syntax-case 3705}#
-                                        (#{build-lexical-reference 273}#
-                                          'value
-                                          #f
-                                          'tmp
-                                          #{x 3941}#)
-                                        #{key 3933}#
-                                        #{m 3934}#
-                                        #{r 3916}#
-                                        #{mod 3919}#))
-                                    (list (#{chi 423}#
-                                            #{val 3932}#
-                                            #{r 3916}#
-                                            '(())
-                                            #{mod 3919}#)))))
-                              (syntax-violation
-                                'syntax-case
-                                "invalid literals list"
-                                #{e 3926}#)))
-                          #{tmp 3928}#)
+                                     'tmp
+                                     #{y 3859}#)))
+                             (#{build-conditional 269}#
+                               #f
+                               (let ((#{tmp 3866}# #{fender 3836}#))
+                                 (let ((#{tmp 3867}#
+                                         ($sc-dispatch
+                                           #{tmp 3866}#
+                                           '#(atom #t))))
+                                   (if #{tmp 3867}#
+                                     (@apply
+                                       (lambda () #{y 3863}#)
+                                       #{tmp 3867}#)
+                                     (let ((#{_ 3869}# #{tmp 3866}#))
+                                       (#{build-conditional 269}#
+                                         #f
+                                         #{y 3863}#
+                                         (#{build-dispatch-call 3703}#
+                                           #{pvars 3848}#
+                                           #{fender 3836}#
+                                           #{y 3863}#
+                                           #{r 3834}#
+                                           #{mod 3838}#)
+                                         (#{build-data 295}# #f #f))))))
+                               (#{build-dispatch-call 3703}#
+                                 #{pvars 3848}#
+                                 #{exp 3837}#
+                                 #{y 3863}#
+                                 #{r 3834}#
+                                 #{mod 3838}#)
+                               (#{gen-syntax-case 3707}#
+                                 #{x 3831}#
+                                 #{keys 3832}#
+                                 #{clauses 3833}#
+                                 #{r 3834}#
+                                 #{mod 3838}#))))
+                         (list (if (eq? #{p 3847}# 'any)
+                                 (#{build-primcall 291}#
+                                   #f
+                                   'list
+                                   (list #{x 3831}#))
+                                 (#{build-primcall 291}#
+                                   #f
+                                   '$sc-dispatch
+                                   (list #{x 3831}#
+                                         (#{build-data 295}#
+                                           #f
+                                           #{p 3847}#)))))))))))))
+         (#{gen-syntax-case 3707}#
+           (lambda (#{x 3875}#
+                    #{keys 3876}#
+                    #{clauses 3877}#
+                    #{r 3878}#
+                    #{mod 3879}#)
+             (if (null? #{clauses 3877}#)
+               (#{build-primcall 291}#
+                 #f
+                 'syntax-violation
+                 (list (#{build-data 295}# #f #f)
+                       (#{build-data 295}#
+                         #f
+                         "source expression failed to match any pattern")
+                       #{x 3875}#))
+               (let ((#{tmp 3888}# (car #{clauses 3877}#)))
+                 (let ((#{tmp 3889}#
+                         ($sc-dispatch #{tmp 3888}# '(any any))))
+                   (if #{tmp 3889}#
+                     (@apply
+                       (lambda (#{pat 3892}# #{exp 3893}#)
+                         (if (if (#{id? 343}# #{pat 3892}#)
+                               (and-map
+                                 (lambda (#{x 3896}#)
+                                   (not (#{free-id=? 399}#
+                                          #{pat 3892}#
+                                          #{x 3896}#)))
+                                 (cons '#(syntax-object
+                                          ...
+                                          ((top)
+                                           #(ribcage
+                                             #(pat exp)
+                                             #((top) (top))
+                                             #("i3890" "i3891"))
+                                           #(ribcage () () ())
+                                           #(ribcage
+                                             #(x keys clauses r mod)
+                                             #((top) (top) (top) (top) (top))
+                                             #("i3880"
+                                               "i3881"
+                                               "i3882"
+                                               "i3883"
+                                               "i3884"))
+                                           #(ribcage
+                                             (gen-syntax-case
+                                               gen-clause
+                                               build-dispatch-call
+                                               convert-pattern)
+                                             ((top) (top) (top) (top))
+                                             ("i3706" "i3704" "i3702" "i3700"))
+                                           #(ribcage
+                                             (lambda-var-list
+                                               gen-var
+                                               strip
+                                               chi-lambda-case
+                                               lambda*-formals
+                                               chi-simple-lambda
+                                               lambda-formals
+                                               ellipsis?
+                                               chi-void
+                                               eval-local-transformer
+                                               chi-local-syntax
+                                               chi-body
+                                               chi-macro
+                                               chi-call
+                                               chi-expr
+                                               chi
+                                               syntax-type
+                                               chi-when-list
+                                               chi-install-global
+                                               chi-top-sequence
+                                               chi-sequence
+                                               source-wrap
+                                               wrap
+                                               bound-id-member?
+                                               distinct-bound-ids?
+                                               valid-bound-ids?
+                                               bound-id=?
+                                               free-id=?
+                                               id-var-name
+                                               same-marks?
+                                               join-marks
+                                               join-wraps
+                                               smart-append
+                                               make-binding-wrap
+                                               extend-ribcage!
+                                               make-empty-ribcage
+                                               new-mark
+                                               anti-mark
+                                               the-anti-mark
+                                               top-marked?
+                                               top-wrap
+                                               empty-wrap
+                                               set-ribcage-labels!
+                                               set-ribcage-marks!
+                                               set-ribcage-symnames!
+                                               ribcage-labels
+                                               ribcage-marks
+                                               ribcage-symnames
+                                               ribcage?
+                                               make-ribcage
+                                               gen-labels
+                                               gen-label
+                                               make-rename
+                                               rename-marks
+                                               rename-new
+                                               rename-old
+                                               subst-rename?
+                                               wrap-subst
+                                               wrap-marks
+                                               make-wrap
+                                               id-sym-name&marks
+                                               id-sym-name
+                                               id?
+                                               nonsymbol-id?
+                                               global-extend
+                                               lookup
+                                               macros-only-env
+                                               extend-var-env
+                                               extend-env
+                                               null-env
+                                               binding-value
+                                               binding-type
+                                               make-binding
+                                               arg-check
+                                               source-annotation
+                                               no-source
+                                               set-syntax-object-module!
+                                               set-syntax-object-wrap!
+                                               set-syntax-object-expression!
+                                               syntax-object-module
+                                               syntax-object-wrap
+                                               syntax-object-expression
+                                               syntax-object?
+                                               make-syntax-object
+                                               build-lexical-var
+                                               build-letrec
+                                               build-named-let
+                                               build-let
+                                               build-sequence
+                                               build-data
+                                               build-primref
+                                               build-primcall
+                                               build-lambda-case
+                                               build-case-lambda
+                                               build-simple-lambda
+                                               build-global-definition
+                                               build-global-assignment
+                                               build-global-reference
+                                               analyze-variable
+                                               build-lexical-assignment
+                                               build-lexical-reference
+                                               build-dynlet
+                                               build-conditional
+                                               build-call
+                                               build-void
+                                               maybe-name-value!
+                                               decorate-source
+                                               get-global-definition-hook
+                                               put-global-definition-hook
+                                               gensym-hook
+                                               local-eval-hook
+                                               top-level-eval-hook
+                                               fx<
+                                               fx=
+                                               fx-
+                                               fx+
+                                               set-lambda-meta!
+                                               lambda-meta
+                                               lambda?
+                                               make-dynlet
+                                               make-letrec
+                                               make-let
+                                               make-lambda-case
+                                               make-lambda
+                                               make-seq
+                                               make-primcall
+                                               make-call
+                                               make-conditional
+                                               make-toplevel-define
+                                               make-toplevel-set
+                                               make-toplevel-ref
+                                               make-module-set
+                                               make-module-ref
+                                               make-lexical-set
+                                               make-lexical-ref
+                                               make-primitive-ref
+                                               make-const
+                                               make-void)
+                                             ((top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top)
+                                              (top))
+                                             ("i452"
+                                              "i450"
+                                              "i448"
+                                              "i446"
+                                              "i444"
+                                              "i442"
+                                              "i440"
+                                              "i438"
+                                              "i436"
+                                              "i434"
+                                              "i432"
+                                              "i430"
+                                              "i428"
+                                              "i426"
+                                              "i424"
+                                              "i422"
+                                              "i420"
+                                              "i418"
+                                              "i416"
+                                              "i414"
+                                              "i412"
+                                              "i410"
+                                              "i408"
+                                              "i406"
+                                              "i404"
+                                              "i402"
+                                              "i400"
+                                              "i398"
+                                              "i396"
+                                              "i394"
+                                              "i392"
+                                              "i390"
+                                              "i388"
+                                              "i386"
+                                              "i384"
+                                              "i383"
+                                              "i382"
+                                              "i380"
+                                              "i379"
+                                              "i378"
+                                              "i377"
+                                              "i376"
+                                              "i374"
+                                              "i372"
+                                              "i370"
+                                              "i368"
+                                              "i366"
+                                              "i364"
+                                              "i362"
+                                              "i360"
+                                              "i357"
+                                              "i355"
+                                              "i354"
+                                              "i353"
+                                              "i352"
+                                              "i351"
+                                              "i350"
+                                              "i349"
+                                              "i348"
+                                              "i347"
+                                              "i345"
+                                              "i344"
+                                              "i342"
+                                              "i340"
+                                              "i338"
+                                              "i336"
+                                              "i334"
+                                              "i332"
+                                              "i330"
+                                              "i329"
+                                              "i328"
+                                              "i327"
+                                              "i326"
+                                              "i325"
+                                              "i323"
+                                              "i322"
+                                              "i320"
+                                              "i318"
+                                              "i316"
+                                              "i314"
+                                              "i312"
+                                              "i310"
+                                              "i308"
+                                              "i306"
+                                              "i304"
+                                              "i302"
+                                              "i300"
+                                              "i298"
+                                              "i296"
+                                              "i294"
+                                              "i292"
+                                              "i290"
+                                              "i288"
+                                              "i286"
+                                              "i284"
+                                              "i282"
+                                              "i280"
+                                              "i278"
+                                              "i276"
+                                              "i274"
+                                              "i272"
+                                              "i270"
+                                              "i268"
+                                              "i266"
+                                              "i264"
+                                              "i262"
+                                              "i260"
+                                              "i258"
+                                              "i256"
+                                              "i255"
+                                              "i253"
+                                              "i251"
+                                              "i250"
+                                              "i249"
+                                              "i248"
+                                              "i247"
+                                              "i245"
+                                              "i243"
+                                              "i241"
+                                              "i238"
+                                              "i236"
+                                              "i234"
+                                              "i232"
+                                              "i230"
+                                              "i228"
+                                              "i226"
+                                              "i224"
+                                              "i222"
+                                              "i220"
+                                              "i218"
+                                              "i216"
+                                              "i214"
+                                              "i212"
+                                              "i210"
+                                              "i208"
+                                              "i206"
+                                              "i204"
+                                              "i202"))
+                                           #(ribcage
+                                             (define-structure
+                                               define-expansion-accessors
+                                               define-expansion-constructors)
+                                             ((top) (top) (top))
+                                             ("i40" "i39" "i38")))
+                                          (hygiene guile))
+                                       #{keys 3876}#))
+                               #f)
+                           (if (#{free-id=? 399}#
+                                 '#(syntax-object
+                                    pad
+                                    ((top)
+                                     #(ribcage
+                                       #(pat exp)
+                                       #((top) (top))
+                                       #("i3890" "i3891"))
+                                     #(ribcage () () ())
+                                     #(ribcage
+                                       #(x keys clauses r mod)
+                                       #((top) (top) (top) (top) (top))
+                                       #("i3880"
+                                         "i3881"
+                                         "i3882"
+                                         "i3883"
+                                         "i3884"))
+                                     #(ribcage
+                                       (gen-syntax-case
+                                         gen-clause
+                                         build-dispatch-call
+                                         convert-pattern)
+                                       ((top) (top) (top) (top))
+                                       ("i3706" "i3704" "i3702" "i3700"))
+                                     #(ribcage
+                                       (lambda-var-list
+                                         gen-var
+                                         strip
+                                         chi-lambda-case
+                                         lambda*-formals
+                                         chi-simple-lambda
+                                         lambda-formals
+                                         ellipsis?
+                                         chi-void
+                                         eval-local-transformer
+                                         chi-local-syntax
+                                         chi-body
+                                         chi-macro
+                                         chi-call
+                                         chi-expr
+                                         chi
+                                         syntax-type
+                                         chi-when-list
+                                         chi-install-global
+                                         chi-top-sequence
+                                         chi-sequence
+                                         source-wrap
+                                         wrap
+                                         bound-id-member?
+                                         distinct-bound-ids?
+                                         valid-bound-ids?
+                                         bound-id=?
+                                         free-id=?
+                                         id-var-name
+                                         same-marks?
+                                         join-marks
+                                         join-wraps
+                                         smart-append
+                                         make-binding-wrap
+                                         extend-ribcage!
+                                         make-empty-ribcage
+                                         new-mark
+                                         anti-mark
+                                         the-anti-mark
+                                         top-marked?
+                                         top-wrap
+                                         empty-wrap
+                                         set-ribcage-labels!
+                                         set-ribcage-marks!
+                                         set-ribcage-symnames!
+                                         ribcage-labels
+                                         ribcage-marks
+                                         ribcage-symnames
+                                         ribcage?
+                                         make-ribcage
+                                         gen-labels
+                                         gen-label
+                                         make-rename
+                                         rename-marks
+                                         rename-new
+                                         rename-old
+                                         subst-rename?
+                                         wrap-subst
+                                         wrap-marks
+                                         make-wrap
+                                         id-sym-name&marks
+                                         id-sym-name
+                                         id?
+                                         nonsymbol-id?
+                                         global-extend
+                                         lookup
+                                         macros-only-env
+                                         extend-var-env
+                                         extend-env
+                                         null-env
+                                         binding-value
+                                         binding-type
+                                         make-binding
+                                         arg-check
+                                         source-annotation
+                                         no-source
+                                         set-syntax-object-module!
+                                         set-syntax-object-wrap!
+                                         set-syntax-object-expression!
+                                         syntax-object-module
+                                         syntax-object-wrap
+                                         syntax-object-expression
+                                         syntax-object?
+                                         make-syntax-object
+                                         build-lexical-var
+                                         build-letrec
+                                         build-named-let
+                                         build-let
+                                         build-sequence
+                                         build-data
+                                         build-primref
+                                         build-primcall
+                                         build-lambda-case
+                                         build-case-lambda
+                                         build-simple-lambda
+                                         build-global-definition
+                                         build-global-assignment
+                                         build-global-reference
+                                         analyze-variable
+                                         build-lexical-assignment
+                                         build-lexical-reference
+                                         build-dynlet
+                                         build-conditional
+                                         build-call
+                                         build-void
+                                         maybe-name-value!
+                                         decorate-source
+                                         get-global-definition-hook
+                                         put-global-definition-hook
+                                         gensym-hook
+                                         local-eval-hook
+                                         top-level-eval-hook
+                                         fx<
+                                         fx=
+                                         fx-
+                                         fx+
+                                         set-lambda-meta!
+                                         lambda-meta
+                                         lambda?
+                                         make-dynlet
+                                         make-letrec
+                                         make-let
+                                         make-lambda-case
+                                         make-lambda
+                                         make-seq
+                                         make-primcall
+                                         make-call
+                                         make-conditional
+                                         make-toplevel-define
+                                         make-toplevel-set
+                                         make-toplevel-ref
+                                         make-module-set
+                                         make-module-ref
+                                         make-lexical-set
+                                         make-lexical-ref
+                                         make-primitive-ref
+                                         make-const
+                                         make-void)
+                                       ((top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top))
+                                       ("i452"
+                                        "i450"
+                                        "i448"
+                                        "i446"
+                                        "i444"
+                                        "i442"
+                                        "i440"
+                                        "i438"
+                                        "i436"
+                                        "i434"
+                                        "i432"
+                                        "i430"
+                                        "i428"
+                                        "i426"
+                                        "i424"
+                                        "i422"
+                                        "i420"
+                                        "i418"
+                                        "i416"
+                                        "i414"
+                                        "i412"
+                                        "i410"
+                                        "i408"
+                                        "i406"
+                                        "i404"
+                                        "i402"
+                                        "i400"
+                                        "i398"
+                                        "i396"
+                                        "i394"
+                                        "i392"
+                                        "i390"
+                                        "i388"
+                                        "i386"
+                                        "i384"
+                                        "i383"
+                                        "i382"
+                                        "i380"
+                                        "i379"
+                                        "i378"
+                                        "i377"
+                                        "i376"
+                                        "i374"
+                                        "i372"
+                                        "i370"
+                                        "i368"
+                                        "i366"
+                                        "i364"
+                                        "i362"
+                                        "i360"
+                                        "i357"
+                                        "i355"
+                                        "i354"
+                                        "i353"
+                                        "i352"
+                                        "i351"
+                                        "i350"
+                                        "i349"
+                                        "i348"
+                                        "i347"
+                                        "i345"
+                                        "i344"
+                                        "i342"
+                                        "i340"
+                                        "i338"
+                                        "i336"
+                                        "i334"
+                                        "i332"
+                                        "i330"
+                                        "i329"
+                                        "i328"
+                                        "i327"
+                                        "i326"
+                                        "i325"
+                                        "i323"
+                                        "i322"
+                                        "i320"
+                                        "i318"
+                                        "i316"
+                                        "i314"
+                                        "i312"
+                                        "i310"
+                                        "i308"
+                                        "i306"
+                                        "i304"
+                                        "i302"
+                                        "i300"
+                                        "i298"
+                                        "i296"
+                                        "i294"
+                                        "i292"
+                                        "i290"
+                                        "i288"
+                                        "i286"
+                                        "i284"
+                                        "i282"
+                                        "i280"
+                                        "i278"
+                                        "i276"
+                                        "i274"
+                                        "i272"
+                                        "i270"
+                                        "i268"
+                                        "i266"
+                                        "i264"
+                                        "i262"
+                                        "i260"
+                                        "i258"
+                                        "i256"
+                                        "i255"
+                                        "i253"
+                                        "i251"
+                                        "i250"
+                                        "i249"
+                                        "i248"
+                                        "i247"
+                                        "i245"
+                                        "i243"
+                                        "i241"
+                                        "i238"
+                                        "i236"
+                                        "i234"
+                                        "i232"
+                                        "i230"
+                                        "i228"
+                                        "i226"
+                                        "i224"
+                                        "i222"
+                                        "i220"
+                                        "i218"
+                                        "i216"
+                                        "i214"
+                                        "i212"
+                                        "i210"
+                                        "i208"
+                                        "i206"
+                                        "i204"
+                                        "i202"))
+                                     #(ribcage
+                                       (define-structure
+                                         define-expansion-accessors
+                                         define-expansion-constructors)
+                                       ((top) (top) (top))
+                                       ("i40" "i39" "i38")))
+                                    (hygiene guile))
+                                 '#(syntax-object
+                                    _
+                                    ((top)
+                                     #(ribcage
+                                       #(pat exp)
+                                       #((top) (top))
+                                       #("i3890" "i3891"))
+                                     #(ribcage () () ())
+                                     #(ribcage
+                                       #(x keys clauses r mod)
+                                       #((top) (top) (top) (top) (top))
+                                       #("i3880"
+                                         "i3881"
+                                         "i3882"
+                                         "i3883"
+                                         "i3884"))
+                                     #(ribcage
+                                       (gen-syntax-case
+                                         gen-clause
+                                         build-dispatch-call
+                                         convert-pattern)
+                                       ((top) (top) (top) (top))
+                                       ("i3706" "i3704" "i3702" "i3700"))
+                                     #(ribcage
+                                       (lambda-var-list
+                                         gen-var
+                                         strip
+                                         chi-lambda-case
+                                         lambda*-formals
+                                         chi-simple-lambda
+                                         lambda-formals
+                                         ellipsis?
+                                         chi-void
+                                         eval-local-transformer
+                                         chi-local-syntax
+                                         chi-body
+                                         chi-macro
+                                         chi-call
+                                         chi-expr
+                                         chi
+                                         syntax-type
+                                         chi-when-list
+                                         chi-install-global
+                                         chi-top-sequence
+                                         chi-sequence
+                                         source-wrap
+                                         wrap
+                                         bound-id-member?
+                                         distinct-bound-ids?
+                                         valid-bound-ids?
+                                         bound-id=?
+                                         free-id=?
+                                         id-var-name
+                                         same-marks?
+                                         join-marks
+                                         join-wraps
+                                         smart-append
+                                         make-binding-wrap
+                                         extend-ribcage!
+                                         make-empty-ribcage
+                                         new-mark
+                                         anti-mark
+                                         the-anti-mark
+                                         top-marked?
+                                         top-wrap
+                                         empty-wrap
+                                         set-ribcage-labels!
+                                         set-ribcage-marks!
+                                         set-ribcage-symnames!
+                                         ribcage-labels
+                                         ribcage-marks
+                                         ribcage-symnames
+                                         ribcage?
+                                         make-ribcage
+                                         gen-labels
+                                         gen-label
+                                         make-rename
+                                         rename-marks
+                                         rename-new
+                                         rename-old
+                                         subst-rename?
+                                         wrap-subst
+                                         wrap-marks
+                                         make-wrap
+                                         id-sym-name&marks
+                                         id-sym-name
+                                         id?
+                                         nonsymbol-id?
+                                         global-extend
+                                         lookup
+                                         macros-only-env
+                                         extend-var-env
+                                         extend-env
+                                         null-env
+                                         binding-value
+                                         binding-type
+                                         make-binding
+                                         arg-check
+                                         source-annotation
+                                         no-source
+                                         set-syntax-object-module!
+                                         set-syntax-object-wrap!
+                                         set-syntax-object-expression!
+                                         syntax-object-module
+                                         syntax-object-wrap
+                                         syntax-object-expression
+                                         syntax-object?
+                                         make-syntax-object
+                                         build-lexical-var
+                                         build-letrec
+                                         build-named-let
+                                         build-let
+                                         build-sequence
+                                         build-data
+                                         build-primref
+                                         build-primcall
+                                         build-lambda-case
+                                         build-case-lambda
+                                         build-simple-lambda
+                                         build-global-definition
+                                         build-global-assignment
+                                         build-global-reference
+                                         analyze-variable
+                                         build-lexical-assignment
+                                         build-lexical-reference
+                                         build-dynlet
+                                         build-conditional
+                                         build-call
+                                         build-void
+                                         maybe-name-value!
+                                         decorate-source
+                                         get-global-definition-hook
+                                         put-global-definition-hook
+                                         gensym-hook
+                                         local-eval-hook
+                                         top-level-eval-hook
+                                         fx<
+                                         fx=
+                                         fx-
+                                         fx+
+                                         set-lambda-meta!
+                                         lambda-meta
+                                         lambda?
+                                         make-dynlet
+                                         make-letrec
+                                         make-let
+                                         make-lambda-case
+                                         make-lambda
+                                         make-seq
+                                         make-primcall
+                                         make-call
+                                         make-conditional
+                                         make-toplevel-define
+                                         make-toplevel-set
+                                         make-toplevel-ref
+                                         make-module-set
+                                         make-module-ref
+                                         make-lexical-set
+                                         make-lexical-ref
+                                         make-primitive-ref
+                                         make-const
+                                         make-void)
+                                       ((top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top)
+                                        (top))
+                                       ("i452"
+                                        "i450"
+                                        "i448"
+                                        "i446"
+                                        "i444"
+                                        "i442"
+                                        "i440"
+                                        "i438"
+                                        "i436"
+                                        "i434"
+                                        "i432"
+                                        "i430"
+                                        "i428"
+                                        "i426"
+                                        "i424"
+                                        "i422"
+                                        "i420"
+                                        "i418"
+                                        "i416"
+                                        "i414"
+                                        "i412"
+                                        "i410"
+                                        "i408"
+                                        "i406"
+                                        "i404"
+                                        "i402"
+                                        "i400"
+                                        "i398"
+                                        "i396"
+                                        "i394"
+                                        "i392"
+                                        "i390"
+                                        "i388"
+                                        "i386"
+                                        "i384"
+                                        "i383"
+                                        "i382"
+                                        "i380"
+                                        "i379"
+                                        "i378"
+                                        "i377"
+                                        "i376"
+                                        "i374"
+                                        "i372"
+                                        "i370"
+                                        "i368"
+                                        "i366"
+                                        "i364"
+                                        "i362"
+                                        "i360"
+                                        "i357"
+                                        "i355"
+                                        "i354"
+                                        "i353"
+                                        "i352"
+                                        "i351"
+                                        "i350"
+                                        "i349"
+                                        "i348"
+                                        "i347"
+                                        "i345"
+                                        "i344"
+                                        "i342"
+                                        "i340"
+                                        "i338"
+                                        "i336"
+                                        "i334"
+                                        "i332"
+                                        "i330"
+                                        "i329"
+                                        "i328"
+                                        "i327"
+                                        "i326"
+                                        "i325"
+                                        "i323"
+                                        "i322"
+                                        "i320"
+                                        "i318"
+                                        "i316"
+                                        "i314"
+                                        "i312"
+                                        "i310"
+                                        "i308"
+                                        "i306"
+                                        "i304"
+                                        "i302"
+                                        "i300"
+                                        "i298"
+                                        "i296"
+                                        "i294"
+                                        "i292"
+                                        "i290"
+                                        "i288"
+                                        "i286"
+                                        "i284"
+                                        "i282"
+                                        "i280"
+                                        "i278"
+                                        "i276"
+                                        "i274"
+                                        "i272"
+                                        "i270"
+                                        "i268"
+                                        "i266"
+                                        "i264"
+                                        "i262"
+                                        "i260"
+                                        "i258"
+                                        "i256"
+                                        "i255"
+                                        "i253"
+                                        "i251"
+                                        "i250"
+                                        "i249"
+                                        "i248"
+                                        "i247"
+                                        "i245"
+                                        "i243"
+                                        "i241"
+                                        "i238"
+                                        "i236"
+                                        "i234"
+                                        "i232"
+                                        "i230"
+                                        "i228"
+                                        "i226"
+                                        "i224"
+                                        "i222"
+                                        "i220"
+                                        "i218"
+                                        "i216"
+                                        "i214"
+                                        "i212"
+                                        "i210"
+                                        "i208"
+                                        "i206"
+                                        "i204"
+                                        "i202"))
+                                     #(ribcage
+                                       (define-structure
+                                         define-expansion-accessors
+                                         define-expansion-constructors)
+                                       ((top) (top) (top))
+                                       ("i40" "i39" "i38")))
+                                    (hygiene guile)))
+                             (#{chi 423}#
+                               #{exp 3893}#
+                               #{r 3878}#
+                               '(())
+                               #{mod 3879}#)
+                             (let ((#{labels 3901}# (list (#{gen-label 356}#)))
+                                   (#{var 3902}#
+                                     (#{gen-var 451}# #{pat 3892}#)))
+                               (#{build-call 267}#
+                                 #f
+                                 (#{build-simple-lambda 285}#
+                                   #f
+                                   (list (syntax->datum #{pat 3892}#))
+                                   #f
+                                   (list #{var 3902}#)
+                                   '()
+                                   (#{chi 423}#
+                                     #{exp 3893}#
+                                     (#{extend-env 331}#
+                                       #{labels 3901}#
+                                       (list (cons 'syntax
+                                                   (cons #{var 3902}# 0)))
+                                       #{r 3878}#)
+                                     (#{make-binding-wrap 387}#
+                                       (list #{pat 3892}#)
+                                       #{labels 3901}#
+                                       '(()))
+                                     #{mod 3879}#))
+                                 (list #{x 3875}#))))
+                           (#{gen-clause 3705}#
+                             #{x 3875}#
+                             #{keys 3876}#
+                             (cdr #{clauses 3877}#)
+                             #{r 3878}#
+                             #{pat 3892}#
+                             #t
+                             #{exp 3893}#
+                             #{mod 3879}#)))
+                       #{tmp 3889}#)
+                     (let ((#{tmp 3908}#
+                             ($sc-dispatch #{tmp 3888}# '(any any any))))
+                       (if #{tmp 3908}#
+                         (@apply
+                           (lambda (#{pat 3912}# #{fender 3913}# #{exp 3914}#)
+                             (#{gen-clause 3705}#
+                               #{x 3875}#
+                               #{keys 3876}#
+                               (cdr #{clauses 3877}#)
+                               #{r 3878}#
+                               #{pat 3912}#
+                               #{fender 3913}#
+                               #{exp 3914}#
+                               #{mod 3879}#))
+                           #{tmp 3908}#)
+                         (let ((#{_ 3916}# #{tmp 3888}#))
+                           (syntax-violation
+                             'syntax-case
+                             "invalid clause"
+                             (car #{clauses 3877}#))))))))))))
+        (lambda (#{e 3917}#
+                 #{r 3918}#
+                 #{w 3919}#
+                 #{s 3920}#
+                 #{mod 3921}#)
+          (let ((#{e 3928}#
+                  (#{source-wrap 411}#
+                    #{e 3917}#
+                    #{w 3919}#
+                    #{s 3920}#
+                    #{mod 3921}#)))
+            (let ((#{tmp 3929}# #{e 3928}#))
+              (let ((#{tmp 3930}#
+                      ($sc-dispatch
+                        #{tmp 3929}#
+                        '(_ any each-any . each-any))))
+                (if #{tmp 3930}#
+                  (@apply
+                    (lambda (#{val 3934}# #{key 3935}# #{m 3936}#)
+                      (if (and-map
+                            (lambda (#{x 3937}#)
+                              (if (#{id? 343}# #{x 3937}#)
+                                (not (#{ellipsis? 439}# #{x 3937}#))
+                                #f))
+                            #{key 3935}#)
+                        (let ((#{x 3943}# (#{gen-var 451}# 'tmp)))
+                          (#{build-call 267}#
+                            #{s 3920}#
+                            (#{build-simple-lambda 285}#
+                              #f
+                              (list 'tmp)
+                              #f
+                              (list #{x 3943}#)
+                              '()
+                              (#{gen-syntax-case 3707}#
+                                (#{build-lexical-reference 273}#
+                                  'value
+                                  #f
+                                  'tmp
+                                  #{x 3943}#)
+                                #{key 3935}#
+                                #{m 3936}#
+                                #{r 3918}#
+                                #{mod 3921}#))
+                            (list (#{chi 423}#
+                                    #{val 3934}#
+                                    #{r 3918}#
+                                    '(())
+                                    #{mod 3921}#))))
                         (syntax-violation
-                          #f
-                          "source expression failed to match any pattern"
-                          #{tmp 3927}#))))))))))
-      (set! macroexpand
-        (lambda*
-          (#{x 3947}#
-            #:optional
-            (#{m 3949}# 'e)
-            (#{esew 3951}# '(eval)))
-          (#{chi-top-sequence 415}#
-            (list #{x 3947}#)
-            '()
-            '((top))
-            #f
-            #{m 3949}#
-            #{esew 3951}#
-            (cons 'hygiene (module-name (current-module))))))
-      (set! identifier?
-        (lambda (#{x 3955}#)
-          (#{nonsymbol-id? 341}# #{x 3955}#)))
-      (set! datum->syntax
-        (lambda (#{id 3957}# #{datum 3958}#)
-          (#{make-syntax-object 307}#
-            #{datum 3958}#
-            (#{syntax-object-wrap 313}# #{id 3957}#)
-            (#{syntax-object-module 315}# #{id 3957}#))))
-      (set! syntax->datum
-        (lambda (#{x 3961}#)
-          (#{strip 449}# #{x 3961}# '(()))))
-      (set! syntax-source
-        (lambda (#{x 3964}#)
-          (#{source-annotation 324}# #{x 3964}#)))
-      (set! generate-temporaries
-        (lambda (#{ls 3966}#)
-          (begin
-            (begin
-              (let ((#{x 3970}# #{ls 3966}#))
-                (if (not (list? #{x 3970}#))
-                  (syntax-violation
-                    'generate-temporaries
-                    "invalid argument"
-                    #{x 3970}#))))
-            (map (lambda (#{x 3971}#)
-                   (#{wrap 409}# (gensym) '((top)) #f))
-                 #{ls 3966}#))))
-      (set! free-identifier=?
-        (lambda (#{x 3975}# #{y 3976}#)
-          (begin
-            (begin
-              (let ((#{x 3981}# #{x 3975}#))
-                (if (not (#{nonsymbol-id? 341}# #{x 3981}#))
-                  (syntax-violation
-                    'free-identifier=?
-                    "invalid argument"
-                    #{x 3981}#))))
-            (begin
-              (let ((#{x 3984}# #{y 3976}#))
-                (if (not (#{nonsymbol-id? 341}# #{x 3984}#))
-                  (syntax-violation
-                    'free-identifier=?
-                    "invalid argument"
-                    #{x 3984}#))))
-            (#{free-id=? 399}# #{x 3975}# #{y 3976}#))))
-      (set! bound-identifier=?
-        (lambda (#{x 3985}# #{y 3986}#)
-          (begin
-            (begin
-              (let ((#{x 3991}# #{x 3985}#))
-                (if (not (#{nonsymbol-id? 341}# #{x 3991}#))
-                  (syntax-violation
-                    'bound-identifier=?
-                    "invalid argument"
-                    #{x 3991}#))))
-            (begin
-              (let ((#{x 3994}# #{y 3986}#))
-                (if (not (#{nonsymbol-id? 341}# #{x 3994}#))
-                  (syntax-violation
-                    'bound-identifier=?
-                    "invalid argument"
-                    #{x 3994}#))))
-            (#{bound-id=? 401}# #{x 3985}# #{y 3986}#))))
-      (set! syntax-violation
-        (lambda*
-          (#{who 3995}#
-            #{message 3996}#
-            #{form 3997}#
-            #:optional
-            (#{subform 4001}# #f))
-          (begin
-            (begin
-              (let ((#{x 4005}# #{who 3995}#))
-                (if (not (let ((#{x 4006}# #{x 4005}#))
-                           (begin
-                             (let ((#{t 4010}# (not #{x 4006}#)))
-                               (if #{t 4010}#
-                                 #{t 4010}#
-                                 (begin
-                                   (let ((#{t 4013}# (string? #{x 4006}#)))
-                                     (if #{t 4013}#
-                                       #{t 4013}#
-                                       (symbol? #{x 4006}#)))))))))
+                          'syntax-case
+                          "invalid literals list"
+                          #{e 3928}#)))
+                    #{tmp 3930}#)
                   (syntax-violation
-                    'syntax-violation
-                    "invalid argument"
-                    #{x 4005}#))))
-            (begin
-              (let ((#{x 4017}# #{message 3996}#))
-                (if (not (string? #{x 4017}#))
-                  (syntax-violation
-                    'syntax-violation
-                    "invalid argument"
-                    #{x 4017}#))))
-            (throw 'syntax-error
-                   #{who 3995}#
-                   #{message 3996}#
-                   (#{source-annotation 324}#
-                     (begin
-                       (let ((#{t 4020}# #{form 3997}#))
-                         (if #{t 4020}# #{t 4020}# #{subform 4001}#))))
-                   (#{strip 449}# #{form 3997}# '(()))
-                   (if #{subform 4001}#
-                     (#{strip 449}# #{subform 4001}# '(()))
-                     #f)))))
-      (letrec*
-        ((#{match-each 4027}#
-           (lambda (#{e 4040}# #{p 4041}# #{w 4042}# #{mod 4043}#)
-             (if (pair? #{e 4040}#)
-               (begin
-                 (let ((#{first 4051}#
-                         (#{match 4039}#
-                           (car #{e 4040}#)
-                           #{p 4041}#
-                           #{w 4042}#
-                           '()
-                           #{mod 4043}#)))
-                   (if #{first 4051}#
-                     (begin
-                       (let ((#{rest 4055}#
-                               (#{match-each 4027}#
-                                 (cdr #{e 4040}#)
-                                 #{p 4041}#
-                                 #{w 4042}#
-                                 #{mod 4043}#)))
-                         (if #{rest 4055}#
-                           (cons #{first 4051}# #{rest 4055}#)
-                           #f)))
-                     #f)))
-               (if (null? #{e 4040}#)
-                 '()
-                 (if (#{syntax-object? 309}# #{e 4040}#)
-                   (#{match-each 4027}#
-                     (#{syntax-object-expression 311}# #{e 4040}#)
-                     #{p 4041}#
-                     (#{join-wraps 391}#
-                       #{w 4042}#
-                       (#{syntax-object-wrap 313}# #{e 4040}#))
-                     (#{syntax-object-module 315}# #{e 4040}#))
-                   #f)))))
-         (#{match-each+ 4029}#
-           (lambda (#{e 4063}#
-                    #{x-pat 4064}#
-                    #{y-pat 4065}#
-                    #{z-pat 4066}#
-                    #{w 4067}#
-                    #{r 4068}#
-                    #{mod 4069}#)
-             (letrec*
-               ((#{f 4080}#
-                  (lambda (#{e 4081}# #{w 4082}#)
-                    (if (pair? #{e 4081}#)
-                      (call-with-values
-                        (lambda ()
-                          (#{f 4080}# (cdr #{e 4081}#) #{w 4082}#))
-                        (lambda (#{xr* 4085}# #{y-pat 4086}# #{r 4087}#)
-                          (if #{r 4087}#
-                            (if (null? #{y-pat 4086}#)
-                              (begin
-                                (let ((#{xr 4092}#
-                                        (#{match 4039}#
-                                          (car #{e 4081}#)
-                                          #{x-pat 4064}#
-                                          #{w 4082}#
-                                          '()
-                                          #{mod 4069}#)))
-                                  (if #{xr 4092}#
-                                    (values
-                                      (cons #{xr 4092}# #{xr* 4085}#)
-                                      #{y-pat 4086}#
-                                      #{r 4087}#)
-                                    (values #f #f #f))))
-                              (values
-                                '()
-                                (cdr #{y-pat 4086}#)
-                                (#{match 4039}#
-                                  (car #{e 4081}#)
-                                  (car #{y-pat 4086}#)
-                                  #{w 4082}#
-                                  #{r 4087}#
-                                  #{mod 4069}#)))
-                            (values #f #f #f))))
-                      (if (#{syntax-object? 309}# #{e 4081}#)
-                        (#{f 4080}#
-                          (#{syntax-object-expression 311}# #{e 4081}#)
-                          (#{join-wraps 391}# #{w 4082}# #{e 4081}#))
-                        (values
-                          '()
-                          #{y-pat 4065}#
-                          (#{match 4039}#
-                            #{e 4081}#
-                            #{z-pat 4066}#
-                            #{w 4082}#
-                            #{r 4068}#
-                            #{mod 4069}#)))))))
-               (begin (#{f 4080}# #{e 4063}# #{w 4067}#)))))
-         (#{match-each-any 4031}#
-           (lambda (#{e 4096}# #{w 4097}# #{mod 4098}#)
-             (if (pair? #{e 4096}#)
-               (begin
-                 (let ((#{l 4105}#
-                         (#{match-each-any 4031}#
-                           (cdr #{e 4096}#)
-                           #{w 4097}#
-                           #{mod 4098}#)))
-                   (if #{l 4105}#
-                     (cons (#{wrap 409}#
-                             (car #{e 4096}#)
-                             #{w 4097}#
-                             #{mod 4098}#)
-                           #{l 4105}#)
-                     #f)))
-               (if (null? #{e 4096}#)
-                 '()
-                 (if (#{syntax-object? 309}# #{e 4096}#)
-                   (#{match-each-any 4031}#
-                     (#{syntax-object-expression 311}# #{e 4096}#)
-                     (#{join-wraps 391}#
-                       #{w 4097}#
-                       (#{syntax-object-wrap 313}# #{e 4096}#))
-                     #{mod 4098}#)
+                    #f
+                    "source expression failed to match any pattern"
+                    #{tmp 3929}#))))))))
+    (set! macroexpand
+      (lambda*
+        (#{x 3949}#
+          #:optional
+          (#{m 3951}# 'e)
+          (#{esew 3953}# '(eval)))
+        (#{chi-top-sequence 415}#
+          (list #{x 3949}#)
+          '()
+          '((top))
+          #f
+          #{m 3951}#
+          #{esew 3953}#
+          (cons 'hygiene (module-name (current-module))))))
+    (set! identifier?
+      (lambda (#{x 3957}#)
+        (#{nonsymbol-id? 341}# #{x 3957}#)))
+    (set! datum->syntax
+      (lambda (#{id 3959}# #{datum 3960}#)
+        (#{make-syntax-object 307}#
+          #{datum 3960}#
+          (#{syntax-object-wrap 313}# #{id 3959}#)
+          (#{syntax-object-module 315}# #{id 3959}#))))
+    (set! syntax->datum
+      (lambda (#{x 3963}#)
+        (#{strip 449}# #{x 3963}# '(()))))
+    (set! syntax-source
+      (lambda (#{x 3966}#)
+        (#{source-annotation 324}# #{x 3966}#)))
+    (set! generate-temporaries
+      (lambda (#{ls 3968}#)
+        (begin
+          (let ((#{x 3972}# #{ls 3968}#))
+            (if (not (list? #{x 3972}#))
+              (syntax-violation
+                'generate-temporaries
+                "invalid argument"
+                #{x 3972}#)))
+          (let ((#{mod 3974}#
+                  (cons 'hygiene (module-name (current-module)))))
+            (map (lambda (#{x 3975}#)
+                   (#{wrap 409}# (gensym) '((top)) #{mod 3974}#))
+                 #{ls 3968}#)))))
+    (set! free-identifier=?
+      (lambda (#{x 3979}# #{y 3980}#)
+        (begin
+          (let ((#{x 3985}# #{x 3979}#))
+            (if (not (#{nonsymbol-id? 341}# #{x 3985}#))
+              (syntax-violation
+                'free-identifier=?
+                "invalid argument"
+                #{x 3985}#)))
+          (let ((#{x 3988}# #{y 3980}#))
+            (if (not (#{nonsymbol-id? 341}# #{x 3988}#))
+              (syntax-violation
+                'free-identifier=?
+                "invalid argument"
+                #{x 3988}#)))
+          (#{free-id=? 399}# #{x 3979}# #{y 3980}#))))
+    (set! bound-identifier=?
+      (lambda (#{x 3989}# #{y 3990}#)
+        (begin
+          (let ((#{x 3995}# #{x 3989}#))
+            (if (not (#{nonsymbol-id? 341}# #{x 3995}#))
+              (syntax-violation
+                'bound-identifier=?
+                "invalid argument"
+                #{x 3995}#)))
+          (let ((#{x 3998}# #{y 3990}#))
+            (if (not (#{nonsymbol-id? 341}# #{x 3998}#))
+              (syntax-violation
+                'bound-identifier=?
+                "invalid argument"
+                #{x 3998}#)))
+          (#{bound-id=? 401}# #{x 3989}# #{y 3990}#))))
+    (set! syntax-violation
+      (lambda*
+        (#{who 3999}#
+          #{message 4000}#
+          #{form 4001}#
+          #:optional
+          (#{subform 4005}# #f))
+        (begin
+          (let ((#{x 4009}# #{who 3999}#))
+            (if (not (let ((#{x 4010}# #{x 4009}#))
+                       (let ((#{t 4014}# (not #{x 4010}#)))
+                         (if #{t 4014}#
+                           #{t 4014}#
+                           (let ((#{t 4017}# (string? #{x 4010}#)))
+                             (if #{t 4017}#
+                               #{t 4017}#
+                               (symbol? #{x 4010}#)))))))
+              (syntax-violation
+                'syntax-violation
+                "invalid argument"
+                #{x 4009}#)))
+          (let ((#{x 4021}# #{message 4000}#))
+            (if (not (string? #{x 4021}#))
+              (syntax-violation
+                'syntax-violation
+                "invalid argument"
+                #{x 4021}#)))
+          (throw 'syntax-error
+                 #{who 3999}#
+                 #{message 4000}#
+                 (#{source-annotation 324}#
+                   (let ((#{t 4024}# #{form 4001}#))
+                     (if #{t 4024}# #{t 4024}# #{subform 4005}#)))
+                 (#{strip 449}# #{form 4001}# '(()))
+                 (if #{subform 4005}#
+                   (#{strip 449}# #{subform 4005}# '(()))
                    #f)))))
-         (#{match-empty 4033}#
-           (lambda (#{p 4113}# #{r 4114}#)
-             (if (null? #{p 4113}#)
-               #{r 4114}#
-               (if (eq? #{p 4113}# '_)
-                 #{r 4114}#
-                 (if (eq? #{p 4113}# 'any)
-                   (cons '() #{r 4114}#)
-                   (if (pair? #{p 4113}#)
-                     (#{match-empty 4033}#
-                       (car #{p 4113}#)
-                       (#{match-empty 4033}#
-                         (cdr #{p 4113}#)
-                         #{r 4114}#))
-                     (if (eq? #{p 4113}# 'each-any)
-                       (cons '() #{r 4114}#)
-                       (begin
-                         (let ((#{atom-key 4130}# (vector-ref #{p 4113}# 0)))
-                           (if (memv #{atom-key 4130}# '(each))
-                             (#{match-empty 4033}#
-                               (vector-ref #{p 4113}# 1)
-                               #{r 4114}#)
-                             (if (memv #{atom-key 4130}# '(each+))
-                               (#{match-empty 4033}#
-                                 (vector-ref #{p 4113}# 1)
-                                 (#{match-empty 4033}#
-                                   (reverse (vector-ref #{p 4113}# 2))
-                                   (#{match-empty 4033}#
-                                     (vector-ref #{p 4113}# 3)
-                                     #{r 4114}#)))
-                               (if (memv #{atom-key 4130}# '(free-id atom))
-                                 #{r 4114}#
-                                 (if (memv #{atom-key 4130}# '(vector))
-                                   (#{match-empty 4033}#
-                                     (vector-ref #{p 4113}# 1)
-                                     #{r 4114}#))))))))))))))
-         (#{combine 4035}#
-           (lambda (#{r* 4135}# #{r 4136}#)
-             (if (null? (car #{r* 4135}#))
-               #{r 4136}#
-               (cons (map car #{r* 4135}#)
-                     (#{combine 4035}#
-                       (map cdr #{r* 4135}#)
-                       #{r 4136}#)))))
-         (#{match* 4037}#
-           (lambda (#{e 4139}#
-                    #{p 4140}#
-                    #{w 4141}#
-                    #{r 4142}#
-                    #{mod 4143}#)
-             (if (null? #{p 4140}#)
-               (if (null? #{e 4139}#) #{r 4142}# #f)
-               (if (pair? #{p 4140}#)
-                 (if (pair? #{e 4139}#)
-                   (#{match 4039}#
-                     (car #{e 4139}#)
-                     (car #{p 4140}#)
-                     #{w 4141}#
-                     (#{match 4039}#
-                       (cdr #{e 4139}#)
-                       (cdr #{p 4140}#)
-                       #{w 4141}#
-                       #{r 4142}#
-                       #{mod 4143}#)
-                     #{mod 4143}#)
-                   #f)
-                 (if (eq? #{p 4140}# 'each-any)
-                   (begin
-                     (let ((#{l 4160}#
-                             (#{match-each-any 4031}#
-                               #{e 4139}#
-                               #{w 4141}#
-                               #{mod 4143}#)))
-                       (if #{l 4160}# (cons #{l 4160}# #{r 4142}#) #f)))
-                   (begin
-                     (let ((#{atom-key 4166}# (vector-ref #{p 4140}# 0)))
-                       (if (memv #{atom-key 4166}# '(each))
-                         (if (null? #{e 4139}#)
-                           (#{match-empty 4033}#
-                             (vector-ref #{p 4140}# 1)
-                             #{r 4142}#)
-                           (begin
-                             (let ((#{l 4169}#
-                                     (#{match-each 4027}#
-                                       #{e 4139}#
-                                       (vector-ref #{p 4140}# 1)
-                                       #{w 4141}#
-                                       #{mod 4143}#)))
-                               (if #{l 4169}#
-                                 (letrec*
-                                   ((#{collect 4174}#
-                                      (lambda (#{l 4175}#)
-                                        (if (null? (car #{l 4175}#))
-                                          #{r 4142}#
-                                          (cons (map car #{l 4175}#)
-                                                (#{collect 4174}#
-                                                  (map cdr #{l 4175}#)))))))
-                                   (begin (#{collect 4174}# #{l 4169}#)))
-                                 #f))))
-                         (if (memv #{atom-key 4166}# '(each+))
-                           (call-with-values
-                             (lambda ()
-                               (#{match-each+ 4029}#
-                                 #{e 4139}#
-                                 (vector-ref #{p 4140}# 1)
-                                 (vector-ref #{p 4140}# 2)
-                                 (vector-ref #{p 4140}# 3)
-                                 #{w 4141}#
-                                 #{r 4142}#
-                                 #{mod 4143}#))
-                             (lambda (#{xr* 4177}# #{y-pat 4178}# #{r 4179}#)
-                               (if #{r 4179}#
-                                 (if (null? #{y-pat 4178}#)
-                                   (if (null? #{xr* 4177}#)
-                                     (#{match-empty 4033}#
-                                       (vector-ref #{p 4140}# 1)
-                                       #{r 4179}#)
-                                     (#{combine 4035}#
-                                       #{xr* 4177}#
-                                       #{r 4179}#))
-                                   #f)
-                                 #f)))
-                           (if (memv #{atom-key 4166}# '(free-id))
-                             (if (#{id? 343}# #{e 4139}#)
-                               (if (#{free-id=? 399}#
-                                     (#{wrap 409}#
-                                       #{e 4139}#
-                                       #{w 4141}#
-                                       #{mod 4143}#)
-                                     (vector-ref #{p 4140}# 1))
-                                 #{r 4142}#
-                                 #f)
+    (letrec*
+      ((#{match-each 4031}#
+         (lambda (#{e 4044}# #{p 4045}# #{w 4046}# #{mod 4047}#)
+           (if (pair? #{e 4044}#)
+             (let ((#{first 4055}#
+                     (#{match 4043}#
+                       (car #{e 4044}#)
+                       #{p 4045}#
+                       #{w 4046}#
+                       '()
+                       #{mod 4047}#)))
+               (if #{first 4055}#
+                 (let ((#{rest 4059}#
+                         (#{match-each 4031}#
+                           (cdr #{e 4044}#)
+                           #{p 4045}#
+                           #{w 4046}#
+                           #{mod 4047}#)))
+                   (if #{rest 4059}#
+                     (cons #{first 4055}# #{rest 4059}#)
+                     #f))
+                 #f))
+             (if (null? #{e 4044}#)
+               '()
+               (if (#{syntax-object? 309}# #{e 4044}#)
+                 (#{match-each 4031}#
+                   (#{syntax-object-expression 311}# #{e 4044}#)
+                   #{p 4045}#
+                   (#{join-wraps 391}#
+                     #{w 4046}#
+                     (#{syntax-object-wrap 313}# #{e 4044}#))
+                   (#{syntax-object-module 315}# #{e 4044}#))
+                 #f)))))
+       (#{match-each+ 4033}#
+         (lambda (#{e 4067}#
+                  #{x-pat 4068}#
+                  #{y-pat 4069}#
+                  #{z-pat 4070}#
+                  #{w 4071}#
+                  #{r 4072}#
+                  #{mod 4073}#)
+           (letrec*
+             ((#{f 4084}#
+                (lambda (#{e 4085}# #{w 4086}#)
+                  (if (pair? #{e 4085}#)
+                    (call-with-values
+                      (lambda ()
+                        (#{f 4084}# (cdr #{e 4085}#) #{w 4086}#))
+                      (lambda (#{xr* 4089}# #{y-pat 4090}# #{r 4091}#)
+                        (if #{r 4091}#
+                          (if (null? #{y-pat 4090}#)
+                            (let ((#{xr 4096}#
+                                    (#{match 4043}#
+                                      (car #{e 4085}#)
+                                      #{x-pat 4068}#
+                                      #{w 4086}#
+                                      '()
+                                      #{mod 4073}#)))
+                              (if #{xr 4096}#
+                                (values
+                                  (cons #{xr 4096}# #{xr* 4089}#)
+                                  #{y-pat 4090}#
+                                  #{r 4091}#)
+                                (values #f #f #f)))
+                            (values
+                              '()
+                              (cdr #{y-pat 4090}#)
+                              (#{match 4043}#
+                                (car #{e 4085}#)
+                                (car #{y-pat 4090}#)
+                                #{w 4086}#
+                                #{r 4091}#
+                                #{mod 4073}#)))
+                          (values #f #f #f))))
+                    (if (#{syntax-object? 309}# #{e 4085}#)
+                      (#{f 4084}#
+                        (#{syntax-object-expression 311}# #{e 4085}#)
+                        (#{join-wraps 391}# #{w 4086}# #{e 4085}#))
+                      (values
+                        '()
+                        #{y-pat 4069}#
+                        (#{match 4043}#
+                          #{e 4085}#
+                          #{z-pat 4070}#
+                          #{w 4086}#
+                          #{r 4072}#
+                          #{mod 4073}#)))))))
+             (#{f 4084}# #{e 4067}# #{w 4071}#))))
+       (#{match-each-any 4035}#
+         (lambda (#{e 4100}# #{w 4101}# #{mod 4102}#)
+           (if (pair? #{e 4100}#)
+             (let ((#{l 4109}#
+                     (#{match-each-any 4035}#
+                       (cdr #{e 4100}#)
+                       #{w 4101}#
+                       #{mod 4102}#)))
+               (if #{l 4109}#
+                 (cons (#{wrap 409}#
+                         (car #{e 4100}#)
+                         #{w 4101}#
+                         #{mod 4102}#)
+                       #{l 4109}#)
+                 #f))
+             (if (null? #{e 4100}#)
+               '()
+               (if (#{syntax-object? 309}# #{e 4100}#)
+                 (#{match-each-any 4035}#
+                   (#{syntax-object-expression 311}# #{e 4100}#)
+                   (#{join-wraps 391}#
+                     #{w 4101}#
+                     (#{syntax-object-wrap 313}# #{e 4100}#))
+                   #{mod 4102}#)
+                 #f)))))
+       (#{match-empty 4037}#
+         (lambda (#{p 4117}# #{r 4118}#)
+           (if (null? #{p 4117}#)
+             #{r 4118}#
+             (if (eq? #{p 4117}# '_)
+               #{r 4118}#
+               (if (eq? #{p 4117}# 'any)
+                 (cons '() #{r 4118}#)
+                 (if (pair? #{p 4117}#)
+                   (#{match-empty 4037}#
+                     (car #{p 4117}#)
+                     (#{match-empty 4037}#
+                       (cdr #{p 4117}#)
+                       #{r 4118}#))
+                   (if (eq? #{p 4117}# 'each-any)
+                     (cons '() #{r 4118}#)
+                     (let ((#{atom-key 4134}# (vector-ref #{p 4117}# 0)))
+                       (if (memv #{atom-key 4134}# '(each))
+                         (#{match-empty 4037}#
+                           (vector-ref #{p 4117}# 1)
+                           #{r 4118}#)
+                         (if (memv #{atom-key 4134}# '(each+))
+                           (#{match-empty 4037}#
+                             (vector-ref #{p 4117}# 1)
+                             (#{match-empty 4037}#
+                               (reverse (vector-ref #{p 4117}# 2))
+                               (#{match-empty 4037}#
+                                 (vector-ref #{p 4117}# 3)
+                                 #{r 4118}#)))
+                           (if (memv #{atom-key 4134}# '(free-id atom))
+                             #{r 4118}#
+                             (if (memv #{atom-key 4134}# '(vector))
+                               (#{match-empty 4037}#
+                                 (vector-ref #{p 4117}# 1)
+                                 #{r 4118}#)))))))))))))
+       (#{combine 4039}#
+         (lambda (#{r* 4139}# #{r 4140}#)
+           (if (null? (car #{r* 4139}#))
+             #{r 4140}#
+             (cons (map car #{r* 4139}#)
+                   (#{combine 4039}#
+                     (map cdr #{r* 4139}#)
+                     #{r 4140}#)))))
+       (#{match* 4041}#
+         (lambda (#{e 4143}#
+                  #{p 4144}#
+                  #{w 4145}#
+                  #{r 4146}#
+                  #{mod 4147}#)
+           (if (null? #{p 4144}#)
+             (if (null? #{e 4143}#) #{r 4146}# #f)
+             (if (pair? #{p 4144}#)
+               (if (pair? #{e 4143}#)
+                 (#{match 4043}#
+                   (car #{e 4143}#)
+                   (car #{p 4144}#)
+                   #{w 4145}#
+                   (#{match 4043}#
+                     (cdr #{e 4143}#)
+                     (cdr #{p 4144}#)
+                     #{w 4145}#
+                     #{r 4146}#
+                     #{mod 4147}#)
+                   #{mod 4147}#)
+                 #f)
+               (if (eq? #{p 4144}# 'each-any)
+                 (let ((#{l 4164}#
+                         (#{match-each-any 4035}#
+                           #{e 4143}#
+                           #{w 4145}#
+                           #{mod 4147}#)))
+                   (if #{l 4164}# (cons #{l 4164}# #{r 4146}#) #f))
+                 (let ((#{atom-key 4170}# (vector-ref #{p 4144}# 0)))
+                   (if (memv #{atom-key 4170}# '(each))
+                     (if (null? #{e 4143}#)
+                       (#{match-empty 4037}#
+                         (vector-ref #{p 4144}# 1)
+                         #{r 4146}#)
+                       (let ((#{l 4173}#
+                               (#{match-each 4031}#
+                                 #{e 4143}#
+                                 (vector-ref #{p 4144}# 1)
+                                 #{w 4145}#
+                                 #{mod 4147}#)))
+                         (if #{l 4173}#
+                           (letrec*
+                             ((#{collect 4178}#
+                                (lambda (#{l 4179}#)
+                                  (if (null? (car #{l 4179}#))
+                                    #{r 4146}#
+                                    (cons (map car #{l 4179}#)
+                                          (#{collect 4178}#
+                                            (map cdr #{l 4179}#)))))))
+                             (#{collect 4178}# #{l 4173}#))
+                           #f)))
+                     (if (memv #{atom-key 4170}# '(each+))
+                       (call-with-values
+                         (lambda ()
+                           (#{match-each+ 4033}#
+                             #{e 4143}#
+                             (vector-ref #{p 4144}# 1)
+                             (vector-ref #{p 4144}# 2)
+                             (vector-ref #{p 4144}# 3)
+                             #{w 4145}#
+                             #{r 4146}#
+                             #{mod 4147}#))
+                         (lambda (#{xr* 4181}# #{y-pat 4182}# #{r 4183}#)
+                           (if #{r 4183}#
+                             (if (null? #{y-pat 4182}#)
+                               (if (null? #{xr* 4181}#)
+                                 (#{match-empty 4037}#
+                                   (vector-ref #{p 4144}# 1)
+                                   #{r 4183}#)
+                                 (#{combine 4039}# #{xr* 4181}# #{r 4183}#))
                                #f)
-                             (if (memv #{atom-key 4166}# '(atom))
-                               (if (equal?
-                                     (vector-ref #{p 4140}# 1)
-                                     (#{strip 449}# #{e 4139}# #{w 4141}#))
-                                 #{r 4142}#
-                                 #f)
-                               (if (memv #{atom-key 4166}# '(vector))
-                                 (if (vector? #{e 4139}#)
-                                   (#{match 4039}#
-                                     (vector->list #{e 4139}#)
-                                     (vector-ref #{p 4140}# 1)
-                                     #{w 4141}#
-                                     #{r 4142}#
-                                     #{mod 4143}#)
-                                   #f)))))))))))))
-         (#{match 4039}#
-           (lambda (#{e 4196}#
-                    #{p 4197}#
-                    #{w 4198}#
-                    #{r 4199}#
-                    #{mod 4200}#)
-             (if (not #{r 4199}#)
-               #f
-               (if (eq? #{p 4197}# '_)
-                 #{r 4199}#
-                 (if (eq? #{p 4197}# 'any)
-                   (cons (#{wrap 409}# #{e 4196}# #{w 4198}# #{mod 4200}#)
-                         #{r 4199}#)
-                   (if (#{syntax-object? 309}# #{e 4196}#)
-                     (#{match* 4037}#
-                       (#{syntax-object-expression 311}# #{e 4196}#)
-                       #{p 4197}#
-                       (#{join-wraps 391}#
-                         #{w 4198}#
-                         (#{syntax-object-wrap 313}# #{e 4196}#))
-                       #{r 4199}#
-                       (#{syntax-object-module 315}# #{e 4196}#))
-                     (#{match* 4037}#
-                       #{e 4196}#
-                       #{p 4197}#
-                       #{w 4198}#
-                       #{r 4199}#
-                       #{mod 4200}#))))))))
-        (begin
-          (set! $sc-dispatch
-            (lambda (#{e 4215}# #{p 4216}#)
-              (if (eq? #{p 4216}# 'any)
-                (list #{e 4215}#)
-                (if (eq? #{p 4216}# '_)
+                             #f)))
+                       (if (memv #{atom-key 4170}# '(free-id))
+                         (if (#{id? 343}# #{e 4143}#)
+                           (if (#{free-id=? 399}#
+                                 (#{wrap 409}#
+                                   #{e 4143}#
+                                   #{w 4145}#
+                                   #{mod 4147}#)
+                                 (vector-ref #{p 4144}# 1))
+                             #{r 4146}#
+                             #f)
+                           #f)
+                         (if (memv #{atom-key 4170}# '(atom))
+                           (if (equal?
+                                 (vector-ref #{p 4144}# 1)
+                                 (#{strip 449}# #{e 4143}# #{w 4145}#))
+                             #{r 4146}#
+                             #f)
+                           (if (memv #{atom-key 4170}# '(vector))
+                             (if (vector? #{e 4143}#)
+                               (#{match 4043}#
+                                 (vector->list #{e 4143}#)
+                                 (vector-ref #{p 4144}# 1)
+                                 #{w 4145}#
+                                 #{r 4146}#
+                                 #{mod 4147}#)
+                               #f))))))))))))
+       (#{match 4043}#
+         (lambda (#{e 4200}#
+                  #{p 4201}#
+                  #{w 4202}#
+                  #{r 4203}#
+                  #{mod 4204}#)
+           (if (not #{r 4203}#)
+             #f
+             (if (eq? #{p 4201}# '_)
+               #{r 4203}#
+               (if (eq? #{p 4201}# 'any)
+                 (cons (#{wrap 409}# #{e 4200}# #{w 4202}# #{mod 4204}#)
+                       #{r 4203}#)
+                 (if (#{syntax-object? 309}# #{e 4200}#)
+                   (#{match* 4041}#
+                     (#{syntax-object-expression 311}# #{e 4200}#)
+                     #{p 4201}#
+                     (#{join-wraps 391}#
+                       #{w 4202}#
+                       (#{syntax-object-wrap 313}# #{e 4200}#))
+                     #{r 4203}#
+                     (#{syntax-object-module 315}# #{e 4200}#))
+                   (#{match* 4041}#
+                     #{e 4200}#
+                     #{p 4201}#
+                     #{w 4202}#
+                     #{r 4203}#
+                     #{mod 4204}#))))))))
+      (set! $sc-dispatch
+        (lambda (#{e 4219}# #{p 4220}#)
+          (if (eq? #{p 4220}# 'any)
+            (list #{e 4219}#)
+            (if (eq? #{p 4220}# '_)
+              '()
+              (if (#{syntax-object? 309}# #{e 4219}#)
+                (#{match* 4041}#
+                  (#{syntax-object-expression 311}# #{e 4219}#)
+                  #{p 4220}#
+                  (#{syntax-object-wrap 313}# #{e 4219}#)
+                  '()
+                  (#{syntax-object-module 315}# #{e 4219}#))
+                (#{match* 4041}#
+                  #{e 4219}#
+                  #{p 4220}#
+                  '(())
                   '()
-                  (if (#{syntax-object? 309}# #{e 4215}#)
-                    (#{match* 4037}#
-                      (#{syntax-object-expression 311}# #{e 4215}#)
-                      #{p 4216}#
-                      (#{syntax-object-wrap 313}# #{e 4215}#)
-                      '()
-                      (#{syntax-object-module 315}# #{e 4215}#))
-                    (#{match* 4037}#
-                      #{e 4215}#
-                      #{p 4216}#
-                      '(())
-                      '()
-                      #f)))))))))))
+                  #f)))))))))
 
 (define with-syntax
   (make-syntax-transformer
     'with-syntax
     'macro
-    (lambda (#{x 4227}#)
-      (let ((#{tmp 4229}# #{x 4227}#))
-        (let ((#{tmp 4230}#
+    (lambda (#{x 4231}#)
+      (let ((#{tmp 4233}# #{x 4231}#))
+        (let ((#{tmp 4234}#
                 ($sc-dispatch
-                  #{tmp 4229}#
+                  #{tmp 4233}#
                   '(_ () any . each-any))))
-          (if #{tmp 4230}#
+          (if #{tmp 4234}#
             (@apply
-              (lambda (#{e1 4233}# #{e2 4234}#)
+              (lambda (#{e1 4237}# #{e2 4238}#)
                 (cons '#(syntax-object
                          let
                          ((top)
                           #(ribcage
                             #(e1 e2)
                             #((top) (top))
-                            #("i4231" "i4232"))
+                            #("i4235" "i4236"))
                           #(ribcage () () ())
-                          #(ribcage #(x) #((top)) #("i4228")))
+                          #(ribcage #(x) #((top)) #("i4232")))
                          (hygiene guile))
-                      (cons '() (cons #{e1 4233}# #{e2 4234}#))))
-              #{tmp 4230}#)
-            (let ((#{tmp 4236}#
+                      (cons '() (cons #{e1 4237}# #{e2 4238}#))))
+              #{tmp 4234}#)
+            (let ((#{tmp 4240}#
                     ($sc-dispatch
-                      #{tmp 4229}#
+                      #{tmp 4233}#
                       '(_ ((any any)) any . each-any))))
-              (if #{tmp 4236}#
+              (if #{tmp 4240}#
                 (@apply
-                  (lambda (#{out 4241}#
-                           #{in 4242}#
-                           #{e1 4243}#
-                           #{e2 4244}#)
+                  (lambda (#{out 4245}#
+                           #{in 4246}#
+                           #{e1 4247}#
+                           #{e2 4248}#)
                     (list '#(syntax-object
                              syntax-case
                              ((top)
                               #(ribcage
                                 #(out in e1 e2)
                                 #((top) (top) (top) (top))
-                                #("i4237" "i4238" "i4239" "i4240"))
+                                #("i4241" "i4242" "i4243" "i4244"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4228")))
+                              #(ribcage #(x) #((top)) #("i4232")))
                              (hygiene guile))
-                          #{in 4242}#
+                          #{in 4246}#
                           '()
-                          (list #{out 4241}#
+                          (list #{out 4245}#
                                 (cons '#(syntax-object
                                          let
                                          ((top)
                                           #(ribcage
                                             #(out in e1 e2)
                                             #((top) (top) (top) (top))
-                                            #("i4237" "i4238" "i4239" "i4240"))
+                                            #("i4241" "i4242" "i4243" "i4244"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4228")))
+                                          #(ribcage #(x) #((top)) #("i4232")))
                                          (hygiene guile))
                                       (cons '()
-                                            (cons #{e1 4243}# #{e2 4244}#))))))
-                  #{tmp 4236}#)
-                (let ((#{tmp 4246}#
+                                            (cons #{e1 4247}# #{e2 4248}#))))))
+                  #{tmp 4240}#)
+                (let ((#{tmp 4250}#
                         ($sc-dispatch
-                          #{tmp 4229}#
+                          #{tmp 4233}#
                           '(_ #(each (any any)) any . each-any))))
-                  (if #{tmp 4246}#
+                  (if #{tmp 4250}#
                     (@apply
-                      (lambda (#{out 4251}#
-                               #{in 4252}#
-                               #{e1 4253}#
-                               #{e2 4254}#)
+                      (lambda (#{out 4255}#
+                               #{in 4256}#
+                               #{e1 4257}#
+                               #{e2 4258}#)
                         (list '#(syntax-object
                                  syntax-case
                                  ((top)
                                   #(ribcage
                                     #(out in e1 e2)
                                     #((top) (top) (top) (top))
-                                    #("i4247" "i4248" "i4249" "i4250"))
+                                    #("i4251" "i4252" "i4253" "i4254"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i4228")))
+                                  #(ribcage #(x) #((top)) #("i4232")))
                                  (hygiene guile))
                               (cons '#(syntax-object
                                        list
@@ -14294,63 +14010,63 @@
                                         #(ribcage
                                           #(out in e1 e2)
                                           #((top) (top) (top) (top))
-                                          #("i4247" "i4248" "i4249" "i4250"))
+                                          #("i4251" "i4252" "i4253" "i4254"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i4228")))
+                                        #(ribcage #(x) #((top)) #("i4232")))
                                        (hygiene guile))
-                                    #{in 4252}#)
+                                    #{in 4256}#)
                               '()
-                              (list #{out 4251}#
+                              (list #{out 4255}#
                                     (cons '#(syntax-object
                                              let
                                              ((top)
                                               #(ribcage
                                                 #(out in e1 e2)
                                                 #((top) (top) (top) (top))
-                                                #("i4247"
-                                                  "i4248"
-                                                  "i4249"
-                                                  "i4250"))
+                                                #("i4251"
+                                                  "i4252"
+                                                  "i4253"
+                                                  "i4254"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(x)
                                                 #((top))
-                                                #("i4228")))
+                                                #("i4232")))
                                              (hygiene guile))
                                           (cons '()
-                                                (cons #{e1 4253}#
-                                                      #{e2 4254}#))))))
-                      #{tmp 4246}#)
+                                                (cons #{e1 4257}#
+                                                      #{e2 4258}#))))))
+                      #{tmp 4250}#)
                     (syntax-violation
                       #f
                       "source expression failed to match any pattern"
-                      #{tmp 4229}#)))))))))))
+                      #{tmp 4233}#)))))))))))
 
 (define syntax-rules
   (make-syntax-transformer
     'syntax-rules
     'macro
-    (lambda (#{x 4258}#)
-      (let ((#{tmp 4260}# #{x 4258}#))
-        (let ((#{tmp 4261}#
+    (lambda (#{x 4262}#)
+      (let ((#{tmp 4264}# #{x 4262}#))
+        (let ((#{tmp 4265}#
                 ($sc-dispatch
-                  #{tmp 4260}#
+                  #{tmp 4264}#
                   '(_ each-any . #(each ((any . any) any))))))
-          (if #{tmp 4261}#
+          (if #{tmp 4265}#
             (@apply
-              (lambda (#{k 4266}#
-                       #{keyword 4267}#
-                       #{pattern 4268}#
-                       #{template 4269}#)
+              (lambda (#{k 4270}#
+                       #{keyword 4271}#
+                       #{pattern 4272}#
+                       #{template 4273}#)
                 (list '#(syntax-object
                          lambda
                          ((top)
                           #(ribcage
                             #(k keyword pattern template)
                             #((top) (top) (top) (top))
-                            #("i4262" "i4263" "i4264" "i4265"))
+                            #("i4266" "i4267" "i4268" "i4269"))
                           #(ribcage () () ())
-                          #(ribcage #(x) #((top)) #("i4259")))
+                          #(ribcage #(x) #((top)) #("i4263")))
                          (hygiene guile))
                       '(#(syntax-object
                           x
@@ -14358,9 +14074,9 @@
                            #(ribcage
                              #(k keyword pattern template)
                              #((top) (top) (top) (top))
-                             #("i4262" "i4263" "i4264" "i4265"))
+                             #("i4266" "i4267" "i4268" "i4269"))
                            #(ribcage () () ())
-                           #(ribcage #(x) #((top)) #("i4259")))
+                           #(ribcage #(x) #((top)) #("i4263")))
                           (hygiene guile)))
                       (vector
                         '(#(syntax-object
@@ -14369,9 +14085,9 @@
                              #(ribcage
                                #(k keyword pattern template)
                                #((top) (top) (top) (top))
-                               #("i4262" "i4263" "i4264" "i4265"))
+                               #("i4266" "i4267" "i4268" "i4269"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i4259")))
+                             #(ribcage #(x) #((top)) #("i4263")))
                             (hygiene guile))
                           .
                           #(syntax-object
@@ -14380,9 +14096,9 @@
                              #(ribcage
                                #(k keyword pattern template)
                                #((top) (top) (top) (top))
-                               #("i4262" "i4263" "i4264" "i4265"))
+                               #("i4266" "i4267" "i4268" "i4269"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i4259")))
+                             #(ribcage #(x) #((top)) #("i4263")))
                             (hygiene guile)))
                         (cons '#(syntax-object
                                  patterns
@@ -14390,20 +14106,20 @@
                                   #(ribcage
                                     #(k keyword pattern template)
                                     #((top) (top) (top) (top))
-                                    #("i4262" "i4263" "i4264" "i4265"))
+                                    #("i4266" "i4267" "i4268" "i4269"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i4259")))
+                                  #(ribcage #(x) #((top)) #("i4263")))
                                  (hygiene guile))
-                              #{pattern 4268}#))
+                              #{pattern 4272}#))
                       (cons '#(syntax-object
                                syntax-case
                                ((top)
                                 #(ribcage
                                   #(k keyword pattern template)
                                   #((top) (top) (top) (top))
-                                  #("i4262" "i4263" "i4264" "i4265"))
+                                  #("i4266" "i4267" "i4268" "i4269"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i4259")))
+                                #(ribcage #(x) #((top)) #("i4263")))
                                (hygiene guile))
                             (cons '#(syntax-object
                                      x
@@ -14411,13 +14127,13 @@
                                       #(ribcage
                                         #(k keyword pattern template)
                                         #((top) (top) (top) (top))
-                                        #("i4262" "i4263" "i4264" "i4265"))
+                                        #("i4266" "i4267" "i4268" "i4269"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i4259")))
+                                      #(ribcage #(x) #((top)) #("i4263")))
                                      (hygiene guile))
-                                  (cons #{k 4266}#
-                                        (map (lambda (#{tmp 4273}#
-                                                      #{tmp 4272}#)
+                                  (cons #{k 4270}#
+                                        (map (lambda (#{tmp 4277}#
+                                                      #{tmp 4276}#)
                                                (list (cons '#(syntax-object
                                                               dummy
                                                               ((top)
@@ -14430,10 +14146,10 @@
                                                                    (top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4262"
-                                                                   "i4263"
-                                                                   "i4264"
-                                                                   "i4265"))
+                                                                 #("i4266"
+                                                                   "i4267"
+                                                                   "i4268"
+                                                                   "i4269"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -14441,9 +14157,9 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4259")))
+                                                                 #("i4263")))
                                                               (hygiene guile))
-                                                           #{tmp 4272}#)
+                                                           #{tmp 4276}#)
                                                      (list '#(syntax-object
                                                               syntax
                                                               ((top)
@@ -14456,10 +14172,10 @@
                                                                    (top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4262"
-                                                                   "i4263"
-                                                                   "i4264"
-                                                                   "i4265"))
+                                                                 #("i4266"
+                                                                   "i4267"
+                                                                   "i4268"
+                                                                   "i4269"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -14467,41 +14183,41 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4259")))
+                                                                 #("i4263")))
                                                               (hygiene guile))
-                                                           #{tmp 4273}#)))
-                                             #{template 4269}#
-                                             #{pattern 4268}#))))))
-              #{tmp 4261}#)
-            (let ((#{tmp 4274}#
+                                                           #{tmp 4277}#)))
+                                             #{template 4273}#
+                                             #{pattern 4272}#))))))
+              #{tmp 4265}#)
+            (let ((#{tmp 4278}#
                     ($sc-dispatch
-                      #{tmp 4260}#
+                      #{tmp 4264}#
                       '(_ each-any any . #(each ((any . any) any))))))
-              (if (if #{tmp 4274}#
+              (if (if #{tmp 4278}#
                     (@apply
-                      (lambda (#{k 4280}#
-                               #{docstring 4281}#
-                               #{keyword 4282}#
-                               #{pattern 4283}#
-                               #{template 4284}#)
-                        (string? (syntax->datum #{docstring 4281}#)))
-                      #{tmp 4274}#)
+                      (lambda (#{k 4284}#
+                               #{docstring 4285}#
+                               #{keyword 4286}#
+                               #{pattern 4287}#
+                               #{template 4288}#)
+                        (string? (syntax->datum #{docstring 4285}#)))
+                      #{tmp 4278}#)
                     #f)
                 (@apply
-                  (lambda (#{k 4290}#
-                           #{docstring 4291}#
-                           #{keyword 4292}#
-                           #{pattern 4293}#
-                           #{template 4294}#)
+                  (lambda (#{k 4294}#
+                           #{docstring 4295}#
+                           #{keyword 4296}#
+                           #{pattern 4297}#
+                           #{template 4298}#)
                     (list '#(syntax-object
                              lambda
                              ((top)
                               #(ribcage
                                 #(k docstring keyword pattern template)
                                 #((top) (top) (top) (top) (top))
-                                #("i4285" "i4286" "i4287" "i4288" "i4289"))
+                                #("i4289" "i4290" "i4291" "i4292" "i4293"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4259")))
+                              #(ribcage #(x) #((top)) #("i4263")))
                              (hygiene guile))
                           '(#(syntax-object
                               x
@@ -14509,11 +14225,11 @@
                                #(ribcage
                                  #(k docstring keyword pattern template)
                                  #((top) (top) (top) (top) (top))
-                                 #("i4285" "i4286" "i4287" "i4288" "i4289"))
+                                 #("i4289" "i4290" "i4291" "i4292" "i4293"))
                                #(ribcage () () ())
-                               #(ribcage #(x) #((top)) #("i4259")))
+                               #(ribcage #(x) #((top)) #("i4263")))
                               (hygiene guile)))
-                          #{docstring 4291}#
+                          #{docstring 4295}#
                           (vector
                             '(#(syntax-object
                                 macro-type
@@ -14521,9 +14237,9 @@
                                  #(ribcage
                                    #(k docstring keyword pattern template)
                                    #((top) (top) (top) (top) (top))
-                                   #("i4285" "i4286" "i4287" "i4288" "i4289"))
+                                   #("i4289" "i4290" "i4291" "i4292" "i4293"))
                                  #(ribcage () () ())
-                                 #(ribcage #(x) #((top)) #("i4259")))
+                                 #(ribcage #(x) #((top)) #("i4263")))
                                 (hygiene guile))
                               .
                               #(syntax-object
@@ -14532,9 +14248,9 @@
                                  #(ribcage
                                    #(k docstring keyword pattern template)
                                    #((top) (top) (top) (top) (top))
-                                   #("i4285" "i4286" "i4287" "i4288" "i4289"))
+                                   #("i4289" "i4290" "i4291" "i4292" "i4293"))
                                  #(ribcage () () ())
-                                 #(ribcage #(x) #((top)) #("i4259")))
+                                 #(ribcage #(x) #((top)) #("i4263")))
                                 (hygiene guile)))
                             (cons '#(syntax-object
                                      patterns
@@ -14542,28 +14258,28 @@
                                       #(ribcage
                                         #(k docstring keyword pattern template)
                                         #((top) (top) (top) (top) (top))
-                                        #("i4285"
-                                          "i4286"
-                                          "i4287"
-                                          "i4288"
-                                          "i4289"))
+                                        #("i4289"
+                                          "i4290"
+                                          "i4291"
+                                          "i4292"
+                                          "i4293"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i4259")))
+                                      #(ribcage #(x) #((top)) #("i4263")))
                                      (hygiene guile))
-                                  #{pattern 4293}#))
+                                  #{pattern 4297}#))
                           (cons '#(syntax-object
                                    syntax-case
                                    ((top)
                                     #(ribcage
                                       #(k docstring keyword pattern template)
                                       #((top) (top) (top) (top) (top))
-                                      #("i4285"
-                                        "i4286"
-                                        "i4287"
-                                        "i4288"
-                                        "i4289"))
+                                      #("i4289"
+                                        "i4290"
+                                        "i4291"
+                                        "i4292"
+                                        "i4293"))
                                     #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i4259")))
+                                    #(ribcage #(x) #((top)) #("i4263")))
                                    (hygiene guile))
                                 (cons '#(syntax-object
                                          x
@@ -14575,17 +14291,17 @@
                                               pattern
                                               template)
                                             #((top) (top) (top) (top) (top))
-                                            #("i4285"
-                                              "i4286"
-                                              "i4287"
-                                              "i4288"
-                                              "i4289"))
+                                            #("i4289"
+                                              "i4290"
+                                              "i4291"
+                                              "i4292"
+                                              "i4293"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4259")))
+                                          #(ribcage #(x) #((top)) #("i4263")))
                                          (hygiene guile))
-                                      (cons #{k 4290}#
-                                            (map (lambda (#{tmp 4298}#
-                                                          #{tmp 4297}#)
+                                      (cons #{k 4294}#
+                                            (map (lambda (#{tmp 4302}#
+                                                          #{tmp 4301}#)
                                                    (list (cons '#(syntax-object
                                                                   dummy
                                                                   ((top)
@@ -14600,11 +14316,11 @@
                                                                        (top)
                                                                        (top)
                                                                        (top))
-                                                                     #("i4285"
-                                                                       "i4286"
-                                                                       "i4287"
-                                                                       "i4288"
-                                                                       
"i4289"))
+                                                                     #("i4289"
+                                                                       "i4290"
+                                                                       "i4291"
+                                                                       "i4292"
+                                                                       
"i4293"))
                                                                    #(ribcage
                                                                      ()
                                                                      ()
@@ -14612,10 +14328,10 @@
                                                                    #(ribcage
                                                                      #(x)
                                                                      #((top))
-                                                                     
#("i4259")))
+                                                                     
#("i4263")))
                                                                   (hygiene
                                                                     guile))
-                                                               #{tmp 4297}#)
+                                                               #{tmp 4301}#)
                                                          (list '#(syntax-object
                                                                   syntax
                                                                   ((top)
@@ -14630,11 +14346,11 @@
                                                                        (top)
                                                                        (top)
                                                                        (top))
-                                                                     #("i4285"
-                                                                       "i4286"
-                                                                       "i4287"
-                                                                       "i4288"
-                                                                       
"i4289"))
+                                                                     #("i4289"
+                                                                       "i4290"
+                                                                       "i4291"
+                                                                       "i4292"
+                                                                       
"i4293"))
                                                                    #(ribcage
                                                                      ()
                                                                      ()
@@ -14642,48 +14358,48 @@
                                                                    #(ribcage
                                                                      #(x)
                                                                      #((top))
-                                                                     
#("i4259")))
+                                                                     
#("i4263")))
                                                                   (hygiene
                                                                     guile))
-                                                               #{tmp 4298}#)))
-                                                 #{template 4294}#
-                                                 #{pattern 4293}#))))))
-                  #{tmp 4274}#)
+                                                               #{tmp 4302}#)))
+                                                 #{template 4298}#
+                                                 #{pattern 4297}#))))))
+                  #{tmp 4278}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp 4260}#)))))))))
+                  #{tmp 4264}#)))))))))
 
 (define let*
   (make-syntax-transformer
     'let*
     'macro
-    (lambda (#{x 4299}#)
-      (let ((#{tmp 4301}# #{x 4299}#))
-        (let ((#{tmp 4302}#
+    (lambda (#{x 4303}#)
+      (let ((#{tmp 4305}# #{x 4303}#))
+        (let ((#{tmp 4306}#
                 ($sc-dispatch
-                  #{tmp 4301}#
+                  #{tmp 4305}#
                   '(any #(each (any any)) any . each-any))))
-          (if (if #{tmp 4302}#
+          (if (if #{tmp 4306}#
                 (@apply
-                  (lambda (#{let* 4308}#
-                           #{x 4309}#
-                           #{v 4310}#
-                           #{e1 4311}#
-                           #{e2 4312}#)
-                    (and-map identifier? #{x 4309}#))
-                  #{tmp 4302}#)
+                  (lambda (#{let* 4312}#
+                           #{x 4313}#
+                           #{v 4314}#
+                           #{e1 4315}#
+                           #{e2 4316}#)
+                    (and-map identifier? #{x 4313}#))
+                  #{tmp 4306}#)
                 #f)
             (@apply
-              (lambda (#{let* 4319}#
-                       #{x 4320}#
-                       #{v 4321}#
-                       #{e1 4322}#
-                       #{e2 4323}#)
+              (lambda (#{let* 4323}#
+                       #{x 4324}#
+                       #{v 4325}#
+                       #{e1 4326}#
+                       #{e2 4327}#)
                 (letrec*
-                  ((#{f 4326}#
-                     (lambda (#{bindings 4327}#)
-                       (if (null? #{bindings 4327}#)
+                  ((#{f 4330}#
+                     (lambda (#{bindings 4331}#)
+                       (if (null? #{bindings 4331}#)
                          (cons '#(syntax-object
                                   let
                                   ((top)
@@ -14691,27 +14407,27 @@
                                    #(ribcage
                                      #(f bindings)
                                      #((top) (top))
-                                     #("i4324" "i4325"))
+                                     #("i4328" "i4329"))
                                    #(ribcage
                                      #(let* x v e1 e2)
                                      #((top) (top) (top) (top) (top))
-                                     #("i4314"
-                                       "i4315"
-                                       "i4316"
-                                       "i4317"
-                                       "i4318"))
+                                     #("i4318"
+                                       "i4319"
+                                       "i4320"
+                                       "i4321"
+                                       "i4322"))
                                    #(ribcage () () ())
-                                   #(ribcage #(x) #((top)) #("i4300")))
+                                   #(ribcage #(x) #((top)) #("i4304")))
                                   (hygiene guile))
-                               (cons '() (cons #{e1 4322}# #{e2 4323}#)))
-                         (let ((#{tmp 4332}#
-                                 (list (#{f 4326}# (cdr #{bindings 4327}#))
-                                       (car #{bindings 4327}#))))
-                           (let ((#{tmp 4333}#
-                                   ($sc-dispatch #{tmp 4332}# '(any any))))
-                             (if #{tmp 4333}#
+                               (cons '() (cons #{e1 4326}# #{e2 4327}#)))
+                         (let ((#{tmp 4336}#
+                                 (list (#{f 4330}# (cdr #{bindings 4331}#))
+                                       (car #{bindings 4331}#))))
+                           (let ((#{tmp 4337}#
+                                   ($sc-dispatch #{tmp 4336}# '(any any))))
+                             (if #{tmp 4337}#
                                (@apply
-                                 (lambda (#{body 4336}# #{binding 4337}#)
+                                 (lambda (#{body 4340}# #{binding 4341}#)
                                    (list '#(syntax-object
                                             let
                                             ((top)
@@ -14719,96 +14435,95 @@
                                              #(ribcage
                                                #(body binding)
                                                #((top) (top))
-                                               #("i4334" "i4335"))
+                                               #("i4338" "i4339"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(f bindings)
                                                #((top) (top))
-                                               #("i4324" "i4325"))
+                                               #("i4328" "i4329"))
                                              #(ribcage
                                                #(let* x v e1 e2)
                                                #((top) (top) (top) (top) (top))
-                                               #("i4314"
-                                                 "i4315"
-                                                 "i4316"
-                                                 "i4317"
-                                                 "i4318"))
+                                               #("i4318"
+                                                 "i4319"
+                                                 "i4320"
+                                                 "i4321"
+                                                 "i4322"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x)
                                                #((top))
-                                               #("i4300")))
+                                               #("i4304")))
                                             (hygiene guile))
-                                         (list #{binding 4337}#)
-                                         #{body 4336}#))
-                                 #{tmp 4333}#)
+                                         (list #{binding 4341}#)
+                                         #{body 4340}#))
+                                 #{tmp 4337}#)
                                (syntax-violation
                                  #f
                                  "source expression failed to match any 
pattern"
-                                 #{tmp 4332}#))))))))
-                  (begin
-                    (#{f 4326}# (map list #{x 4320}# #{v 4321}#)))))
-              #{tmp 4302}#)
+                                 #{tmp 4336}#))))))))
+                  (#{f 4330}# (map list #{x 4324}# #{v 4325}#))))
+              #{tmp 4306}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{tmp 4301}#)))))))
+              #{tmp 4305}#)))))))
 
 (define do
   (make-syntax-transformer
     'do
     'macro
-    (lambda (#{orig-x 4338}#)
-      (let ((#{tmp 4340}# #{orig-x 4338}#))
-        (let ((#{tmp 4341}#
+    (lambda (#{orig-x 4342}#)
+      (let ((#{tmp 4344}# #{orig-x 4342}#))
+        (let ((#{tmp 4345}#
                 ($sc-dispatch
-                  #{tmp 4340}#
+                  #{tmp 4344}#
                   '(_ #(each (any any . any))
                       (any . each-any)
                       .
                       each-any))))
-          (if #{tmp 4341}#
+          (if #{tmp 4345}#
             (@apply
-              (lambda (#{var 4348}#
-                       #{init 4349}#
-                       #{step 4350}#
-                       #{e0 4351}#
-                       #{e1 4352}#
-                       #{c 4353}#)
-                (let ((#{tmp 4355}#
-                        (map (lambda (#{v 4376}# #{s 4377}#)
-                               (let ((#{tmp 4380}# #{s 4377}#))
-                                 (let ((#{tmp 4381}#
-                                         ($sc-dispatch #{tmp 4380}# '())))
-                                   (if #{tmp 4381}#
+              (lambda (#{var 4352}#
+                       #{init 4353}#
+                       #{step 4354}#
+                       #{e0 4355}#
+                       #{e1 4356}#
+                       #{c 4357}#)
+                (let ((#{tmp 4359}#
+                        (map (lambda (#{v 4380}# #{s 4381}#)
+                               (let ((#{tmp 4384}# #{s 4381}#))
+                                 (let ((#{tmp 4385}#
+                                         ($sc-dispatch #{tmp 4384}# '())))
+                                   (if #{tmp 4385}#
                                      (@apply
-                                       (lambda () #{v 4376}#)
-                                       #{tmp 4381}#)
-                                     (let ((#{tmp 4382}#
+                                       (lambda () #{v 4380}#)
+                                       #{tmp 4385}#)
+                                     (let ((#{tmp 4386}#
                                              ($sc-dispatch
-                                               #{tmp 4380}#
+                                               #{tmp 4384}#
                                                '(any))))
-                                       (if #{tmp 4382}#
+                                       (if #{tmp 4386}#
                                          (@apply
-                                           (lambda (#{e 4384}#) #{e 4384}#)
-                                           #{tmp 4382}#)
-                                         (let ((#{_ 4386}# #{tmp 4380}#))
+                                           (lambda (#{e 4388}#) #{e 4388}#)
+                                           #{tmp 4386}#)
+                                         (let ((#{_ 4390}# #{tmp 4384}#))
                                            (syntax-violation
                                              'do
                                              "bad step expression"
-                                             #{orig-x 4338}#
-                                             #{s 4377}#))))))))
-                             #{var 4348}#
-                             #{step 4350}#)))
-                  (let ((#{tmp 4356}#
-                          ($sc-dispatch #{tmp 4355}# 'each-any)))
-                    (if #{tmp 4356}#
+                                             #{orig-x 4342}#
+                                             #{s 4381}#))))))))
+                             #{var 4352}#
+                             #{step 4354}#)))
+                  (let ((#{tmp 4360}#
+                          ($sc-dispatch #{tmp 4359}# 'each-any)))
+                    (if #{tmp 4360}#
                       (@apply
-                        (lambda (#{step 4358}#)
-                          (let ((#{tmp 4359}# #{e1 4352}#))
-                            (let ((#{tmp 4360}#
-                                    ($sc-dispatch #{tmp 4359}# '())))
-                              (if #{tmp 4360}#
+                        (lambda (#{step 4362}#)
+                          (let ((#{tmp 4363}# #{e1 4356}#))
+                            (let ((#{tmp 4364}#
+                                    ($sc-dispatch #{tmp 4363}# '())))
+                              (if #{tmp 4364}#
                                 (@apply
                                   (lambda ()
                                     (list '#(syntax-object
@@ -14818,7 +14533,7 @@
                                               #(ribcage
                                                 #(step)
                                                 #((top))
-                                                #("i4357"))
+                                                #("i4361"))
                                               #(ribcage
                                                 #(var init step e0 e1 c)
                                                 #((top)
@@ -14827,17 +14542,17 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                #("i4342"
-                                                  "i4343"
-                                                  "i4344"
-                                                  "i4345"
-                                                  "i4346"
-                                                  "i4347"))
+                                                #("i4346"
+                                                  "i4347"
+                                                  "i4348"
+                                                  "i4349"
+                                                  "i4350"
+                                                  "i4351"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(orig-x)
                                                 #((top))
-                                                #("i4339")))
+                                                #("i4343")))
                                              (hygiene guile))
                                           '#(syntax-object
                                              doloop
@@ -14846,7 +14561,7 @@
                                               #(ribcage
                                                 #(step)
                                                 #((top))
-                                                #("i4357"))
+                                                #("i4361"))
                                               #(ribcage
                                                 #(var init step e0 e1 c)
                                                 #((top)
@@ -14855,19 +14570,19 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                #("i4342"
-                                                  "i4343"
-                                                  "i4344"
-                                                  "i4345"
-                                                  "i4346"
-                                                  "i4347"))
+                                                #("i4346"
+                                                  "i4347"
+                                                  "i4348"
+                                                  "i4349"
+                                                  "i4350"
+                                                  "i4351"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(orig-x)
                                                 #((top))
-                                                #("i4339")))
+                                                #("i4343")))
                                              (hygiene guile))
-                                          (map list #{var 4348}# #{init 4349}#)
+                                          (map list #{var 4352}# #{init 4353}#)
                                           (list '#(syntax-object
                                                    if
                                                    ((top)
@@ -14875,7 +14590,7 @@
                                                     #(ribcage
                                                       #(step)
                                                       #((top))
-                                                      #("i4357"))
+                                                      #("i4361"))
                                                     #(ribcage
                                                       #(var init step e0 e1 c)
                                                       #((top)
@@ -14884,17 +14599,17 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i4342"
-                                                        "i4343"
-                                                        "i4344"
-                                                        "i4345"
-                                                        "i4346"
-                                                        "i4347"))
+                                                      #("i4346"
+                                                        "i4347"
+                                                        "i4348"
+                                                        "i4349"
+                                                        "i4350"
+                                                        "i4351"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(orig-x)
                                                       #((top))
-                                                      #("i4339")))
+                                                      #("i4343")))
                                                    (hygiene guile))
                                                 (list '#(syntax-object
                                                          not
@@ -14903,7 +14618,7 @@
                                                           #(ribcage
                                                             #(step)
                                                             #((top))
-                                                            #("i4357"))
+                                                            #("i4361"))
                                                           #(ribcage
                                                             #(var
                                                               init
@@ -14917,19 +14632,19 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i4342"
-                                                              "i4343"
-                                                              "i4344"
-                                                              "i4345"
-                                                              "i4346"
-                                                              "i4347"))
+                                                            #("i4346"
+                                                              "i4347"
+                                                              "i4348"
+                                                              "i4349"
+                                                              "i4350"
+                                                              "i4351"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(orig-x)
                                                             #((top))
-                                                            #("i4339")))
+                                                            #("i4343")))
                                                          (hygiene guile))
-                                                      #{e0 4351}#)
+                                                      #{e0 4355}#)
                                                 (cons '#(syntax-object
                                                          begin
                                                          ((top)
@@ -14937,7 +14652,7 @@
                                                           #(ribcage
                                                             #(step)
                                                             #((top))
-                                                            #("i4357"))
+                                                            #("i4361"))
                                                           #(ribcage
                                                             #(var
                                                               init
@@ -14951,20 +14666,20 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i4342"
-                                                              "i4343"
-                                                              "i4344"
-                                                              "i4345"
-                                                              "i4346"
-                                                              "i4347"))
+                                                            #("i4346"
+                                                              "i4347"
+                                                              "i4348"
+                                                              "i4349"
+                                                              "i4350"
+                                                              "i4351"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(orig-x)
                                                             #((top))
-                                                            #("i4339")))
+                                                            #("i4343")))
                                                          (hygiene guile))
                                                       (append
-                                                        #{c 4353}#
+                                                        #{c 4357}#
                                                         (list (cons 
'#(syntax-object
                                                                        doloop
                                                                        ((top)
@@ -14975,7 +14690,7 @@
                                                                         
#(ribcage
                                                                           
#(step)
                                                                           
#((top))
-                                                                          
#("i4357"))
+                                                                          
#("i4361"))
                                                                         
#(ribcage
                                                                           #(var
                                                                             
init
@@ -14989,12 +14704,12 @@
                                                                             
(top)
                                                                             
(top)
                                                                             
(top))
-                                                                          
#("i4342"
-                                                                            
"i4343"
-                                                                            
"i4344"
-                                                                            
"i4345"
-                                                                            
"i4346"
-                                                                            
"i4347"))
+                                                                          
#("i4346"
+                                                                            
"i4347"
+                                                                            
"i4348"
+                                                                            
"i4349"
+                                                                            
"i4350"
+                                                                            
"i4351"))
                                                                         
#(ribcage
                                                                           ()
                                                                           ()
@@ -15002,30 +14717,30 @@
                                                                         
#(ribcage
                                                                           
#(orig-x)
                                                                           
#((top))
-                                                                          
#("i4339")))
+                                                                          
#("i4343")))
                                                                        (hygiene
                                                                          
guile))
-                                                                    #{step 
4358}#)))))))
-                                  #{tmp 4360}#)
-                                (let ((#{tmp 4365}#
+                                                                    #{step 
4362}#)))))))
+                                  #{tmp 4364}#)
+                                (let ((#{tmp 4369}#
                                         ($sc-dispatch
-                                          #{tmp 4359}#
+                                          #{tmp 4363}#
                                           '(any . each-any))))
-                                  (if #{tmp 4365}#
+                                  (if #{tmp 4369}#
                                     (@apply
-                                      (lambda (#{e1 4368}# #{e2 4369}#)
+                                      (lambda (#{e1 4372}# #{e2 4373}#)
                                         (list '#(syntax-object
                                                  let
                                                  ((top)
                                                   #(ribcage
                                                     #(e1 e2)
                                                     #((top) (top))
-                                                    #("i4366" "i4367"))
+                                                    #("i4370" "i4371"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(step)
                                                     #((top))
-                                                    #("i4357"))
+                                                    #("i4361"))
                                                   #(ribcage
                                                     #(var init step e0 e1 c)
                                                     #((top)
@@ -15034,17 +14749,17 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                    #("i4342"
-                                                      "i4343"
-                                                      "i4344"
-                                                      "i4345"
-                                                      "i4346"
-                                                      "i4347"))
+                                                    #("i4346"
+                                                      "i4347"
+                                                      "i4348"
+                                                      "i4349"
+                                                      "i4350"
+                                                      "i4351"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(orig-x)
                                                     #((top))
-                                                    #("i4339")))
+                                                    #("i4343")))
                                                  (hygiene guile))
                                               '#(syntax-object
                                                  doloop
@@ -15052,12 +14767,12 @@
                                                   #(ribcage
                                                     #(e1 e2)
                                                     #((top) (top))
-                                                    #("i4366" "i4367"))
+                                                    #("i4370" "i4371"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(step)
                                                     #((top))
-                                                    #("i4357"))
+                                                    #("i4361"))
                                                   #(ribcage
                                                     #(var init step e0 e1 c)
                                                     #((top)
@@ -15066,33 +14781,33 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                    #("i4342"
-                                                      "i4343"
-                                                      "i4344"
-                                                      "i4345"
-                                                      "i4346"
-                                                      "i4347"))
+                                                    #("i4346"
+                                                      "i4347"
+                                                      "i4348"
+                                                      "i4349"
+                                                      "i4350"
+                                                      "i4351"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(orig-x)
                                                     #((top))
-                                                    #("i4339")))
+                                                    #("i4343")))
                                                  (hygiene guile))
                                               (map list
-                                                   #{var 4348}#
-                                                   #{init 4349}#)
+                                                   #{var 4352}#
+                                                   #{init 4353}#)
                                               (list '#(syntax-object
                                                        if
                                                        ((top)
                                                         #(ribcage
                                                           #(e1 e2)
                                                           #((top) (top))
-                                                          #("i4366" "i4367"))
+                                                          #("i4370" "i4371"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(step)
                                                           #((top))
-                                                          #("i4357"))
+                                                          #("i4361"))
                                                         #(ribcage
                                                           #(var
                                                             init
@@ -15106,27 +14821,27 @@
                                                             (top)
                                                             (top)
                                                             (top))
-                                                          #("i4342"
-                                                            "i4343"
-                                                            "i4344"
-                                                            "i4345"
-                                                            "i4346"
-                                                            "i4347"))
+                                                          #("i4346"
+                                                            "i4347"
+                                                            "i4348"
+                                                            "i4349"
+                                                            "i4350"
+                                                            "i4351"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(orig-x)
                                                           #((top))
-                                                          #("i4339")))
+                                                          #("i4343")))
                                                        (hygiene guile))
-                                                    #{e0 4351}#
+                                                    #{e0 4355}#
                                                     (cons '#(syntax-object
                                                              begin
                                                              ((top)
                                                               #(ribcage
                                                                 #(e1 e2)
                                                                 #((top) (top))
-                                                                #("i4366"
-                                                                  "i4367"))
+                                                                #("i4370"
+                                                                  "i4371"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
@@ -15134,7 +14849,7 @@
                                                               #(ribcage
                                                                 #(step)
                                                                 #((top))
-                                                                #("i4357"))
+                                                                #("i4361"))
                                                               #(ribcage
                                                                 #(var
                                                                   init
@@ -15148,12 +14863,12 @@
                                                                   (top)
                                                                   (top)
                                                                   (top))
-                                                                #("i4342"
-                                                                  "i4343"
-                                                                  "i4344"
-                                                                  "i4345"
-                                                                  "i4346"
-                                                                  "i4347"))
+                                                                #("i4346"
+                                                                  "i4347"
+                                                                  "i4348"
+                                                                  "i4349"
+                                                                  "i4350"
+                                                                  "i4351"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
@@ -15161,18 +14876,18 @@
                                                               #(ribcage
                                                                 #(orig-x)
                                                                 #((top))
-                                                                #("i4339")))
+                                                                #("i4343")))
                                                              (hygiene guile))
-                                                          (cons #{e1 4368}#
-                                                                #{e2 4369}#))
+                                                          (cons #{e1 4372}#
+                                                                #{e2 4373}#))
                                                     (cons '#(syntax-object
                                                              begin
                                                              ((top)
                                                               #(ribcage
                                                                 #(e1 e2)
                                                                 #((top) (top))
-                                                                #("i4366"
-                                                                  "i4367"))
+                                                                #("i4370"
+                                                                  "i4371"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
@@ -15180,7 +14895,7 @@
                                                               #(ribcage
                                                                 #(step)
                                                                 #((top))
-                                                                #("i4357"))
+                                                                #("i4361"))
                                                               #(ribcage
                                                                 #(var
                                                                   init
@@ -15194,12 +14909,12 @@
                                                                   (top)
                                                                   (top)
                                                                   (top))
-                                                                #("i4342"
-                                                                  "i4343"
-                                                                  "i4344"
-                                                                  "i4345"
-                                                                  "i4346"
-                                                                  "i4347"))
+                                                                #("i4346"
+                                                                  "i4347"
+                                                                  "i4348"
+                                                                  "i4349"
+                                                                  "i4350"
+                                                                  "i4351"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
@@ -15207,10 +14922,10 @@
                                                               #(ribcage
                                                                 #(orig-x)
                                                                 #((top))
-                                                                #("i4339")))
+                                                                #("i4343")))
                                                              (hygiene guile))
                                                           (append
-                                                            #{c 4353}#
+                                                            #{c 4357}#
                                                             (list (cons 
'#(syntax-object
                                                                            
doloop
                                                                            
((top)
@@ -15219,8 +14934,8 @@
                                                                                
 e2)
                                                                               
#((top)
                                                                                
 (top))
-                                                                              
#("i4366"
-                                                                               
 "i4367"))
+                                                                              
#("i4370"
+                                                                               
 "i4371"))
                                                                             
#(ribcage
                                                                               
()
                                                                               
()
@@ -15228,7 +14943,7 @@
                                                                             
#(ribcage
                                                                               
#(step)
                                                                               
#((top))
-                                                                              
#("i4357"))
+                                                                              
#("i4361"))
                                                                             
#(ribcage
                                                                               
#(var
                                                                                
 init
@@ -15242,12 +14957,12 @@
                                                                                
 (top)
                                                                                
 (top)
                                                                                
 (top))
-                                                                              
#("i4342"
-                                                                               
 "i4343"
-                                                                               
 "i4344"
-                                                                               
 "i4345"
-                                                                               
 "i4346"
-                                                                               
 "i4347"))
+                                                                              
#("i4346"
+                                                                               
 "i4347"
+                                                                               
 "i4348"
+                                                                               
 "i4349"
+                                                                               
 "i4350"
+                                                                               
 "i4351"))
                                                                             
#(ribcage
                                                                               
()
                                                                               
()
@@ -15255,37 +14970,37 @@
                                                                             
#(ribcage
                                                                               
#(orig-x)
                                                                               
#((top))
-                                                                              
#("i4339")))
+                                                                              
#("i4343")))
                                                                            
(hygiene
                                                                              
guile))
-                                                                        #{step 
4358}#)))))))
-                                      #{tmp 4365}#)
+                                                                        #{step 
4362}#)))))))
+                                      #{tmp 4369}#)
                                     (syntax-violation
                                       #f
                                       "source expression failed to match any 
pattern"
-                                      #{tmp 4359}#)))))))
-                        #{tmp 4356}#)
+                                      #{tmp 4363}#)))))))
+                        #{tmp 4360}#)
                       (syntax-violation
                         #f
                         "source expression failed to match any pattern"
-                        #{tmp 4355}#)))))
-              #{tmp 4341}#)
+                        #{tmp 4359}#)))))
+              #{tmp 4345}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{tmp 4340}#)))))))
+              #{tmp 4344}#)))))))
 
 (define quasiquote
   (make-syntax-transformer
     'quasiquote
     'macro
     (letrec*
-      ((#{quasi 4390}#
-         (lambda (#{p 4403}# #{lev 4404}#)
-           (let ((#{tmp 4407}# #{p 4403}#))
-             (let ((#{tmp 4408}#
+      ((#{quasi 4394}#
+         (lambda (#{p 4407}# #{lev 4408}#)
+           (let ((#{tmp 4411}# #{p 4407}#))
+             (let ((#{tmp 4412}#
                      ($sc-dispatch
-                       #{tmp 4407}#
+                       #{tmp 4411}#
                        '(#(free-id
                            #(syntax-object
                              unquote
@@ -15294,7 +15009,7 @@
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i4405" "i4406"))
+                                #("i4409" "i4410"))
                               #(ribcage
                                 (emit quasivector
                                       quasilist*
@@ -15303,28 +15018,28 @@
                                       vquasi
                                       quasi)
                                 ((top) (top) (top) (top) (top) (top) (top))
-                                ("i4401"
+                                ("i4405"
+                                 "i4403"
+                                 "i4401"
                                  "i4399"
                                  "i4397"
                                  "i4395"
-                                 "i4393"
-                                 "i4391"
-                                 "i4389")))
+                                 "i4393")))
                              (hygiene guile)))
                          any))))
-               (if #{tmp 4408}#
+               (if #{tmp 4412}#
                  (@apply
-                   (lambda (#{p 4410}#)
-                     (if (= #{lev 4404}# 0)
+                   (lambda (#{p 4414}#)
+                     (if (= #{lev 4408}# 0)
                        (list '#(syntax-object
                                 "value"
                                 ((top)
-                                 #(ribcage #(p) #((top)) #("i4409"))
+                                 #(ribcage #(p) #((top)) #("i4413"))
                                  #(ribcage () () ())
                                  #(ribcage
                                    #(p lev)
                                    #((top) (top))
-                                   #("i4405" "i4406"))
+                                   #("i4409" "i4410"))
                                  #(ribcage
                                    (emit quasivector
                                          quasilist*
@@ -15333,25 +15048,25 @@
                                          vquasi
                                          quasi)
                                    ((top) (top) (top) (top) (top) (top) (top))
-                                   ("i4401"
+                                   ("i4405"
+                                    "i4403"
+                                    "i4401"
                                     "i4399"
                                     "i4397"
                                     "i4395"
-                                    "i4393"
-                                    "i4391"
-                                    "i4389")))
+                                    "i4393")))
                                 (hygiene guile))
-                             #{p 4410}#)
-                       (#{quasicons 4394}#
+                             #{p 4414}#)
+                       (#{quasicons 4398}#
                          '(#(syntax-object
                              "quote"
                              ((top)
-                              #(ribcage #(p) #((top)) #("i4409"))
+                              #(ribcage #(p) #((top)) #("i4413"))
                               #(ribcage () () ())
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i4405" "i4406"))
+                                #("i4409" "i4410"))
                               #(ribcage
                                 (emit quasivector
                                       quasilist*
@@ -15360,23 +15075,23 @@
                                       vquasi
                                       quasi)
                                 ((top) (top) (top) (top) (top) (top) (top))
-                                ("i4401"
+                                ("i4405"
+                                 "i4403"
+                                 "i4401"
                                  "i4399"
                                  "i4397"
                                  "i4395"
-                                 "i4393"
-                                 "i4391"
-                                 "i4389")))
+                                 "i4393")))
                              (hygiene guile))
                            #(syntax-object
                              unquote
                              ((top)
-                              #(ribcage #(p) #((top)) #("i4409"))
+                              #(ribcage #(p) #((top)) #("i4413"))
                               #(ribcage () () ())
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i4405" "i4406"))
+                                #("i4409" "i4410"))
                               #(ribcage
                                 (emit quasivector
                                       quasilist*
@@ -15385,21 +15100,21 @@
                                       vquasi
                                       quasi)
                                 ((top) (top) (top) (top) (top) (top) (top))
-                                ("i4401"
+                                ("i4405"
+                                 "i4403"
+                                 "i4401"
                                  "i4399"
                                  "i4397"
                                  "i4395"
-                                 "i4393"
-                                 "i4391"
-                                 "i4389")))
+                                 "i4393")))
                              (hygiene guile)))
-                         (#{quasi 4390}#
-                           (list #{p 4410}#)
-                           (#{1-}# #{lev 4404}#)))))
-                   #{tmp 4408}#)
-                 (let ((#{tmp 4411}#
+                         (#{quasi 4394}#
+                           (list #{p 4414}#)
+                           (#{1-}# #{lev 4408}#)))))
+                   #{tmp 4412}#)
+                 (let ((#{tmp 4415}#
                          ($sc-dispatch
-                           #{tmp 4407}#
+                           #{tmp 4411}#
                            '(#(free-id
                                #(syntax-object
                                  quasiquote
@@ -15408,7 +15123,7 @@
                                   #(ribcage
                                     #(p lev)
                                     #((top) (top))
-                                    #("i4405" "i4406"))
+                                    #("i4409" "i4410"))
                                   #(ribcage
                                     (emit quasivector
                                           quasilist*
@@ -15417,28 +15132,28 @@
                                           vquasi
                                           quasi)
                                     ((top) (top) (top) (top) (top) (top) (top))
-                                    ("i4401"
+                                    ("i4405"
+                                     "i4403"
+                                     "i4401"
                                      "i4399"
                                      "i4397"
                                      "i4395"
-                                     "i4393"
-                                     "i4391"
-                                     "i4389")))
+                                     "i4393")))
                                  (hygiene guile)))
                              any))))
-                   (if #{tmp 4411}#
+                   (if #{tmp 4415}#
                      (@apply
-                       (lambda (#{p 4413}#)
-                         (#{quasicons 4394}#
+                       (lambda (#{p 4417}#)
+                         (#{quasicons 4398}#
                            '(#(syntax-object
                                "quote"
                                ((top)
-                                #(ribcage #(p) #((top)) #("i4412"))
+                                #(ribcage #(p) #((top)) #("i4416"))
                                 #(ribcage () () ())
                                 #(ribcage
                                   #(p lev)
                                   #((top) (top))
-                                  #("i4405" "i4406"))
+                                  #("i4409" "i4410"))
                                 #(ribcage
                                   (emit quasivector
                                         quasilist*
@@ -15447,23 +15162,23 @@
                                         vquasi
                                         quasi)
                                   ((top) (top) (top) (top) (top) (top) (top))
-                                  ("i4401"
+                                  ("i4405"
+                                   "i4403"
+                                   "i4401"
                                    "i4399"
                                    "i4397"
                                    "i4395"
-                                   "i4393"
-                                   "i4391"
-                                   "i4389")))
+                                   "i4393")))
                                (hygiene guile))
                              #(syntax-object
                                quasiquote
                                ((top)
-                                #(ribcage #(p) #((top)) #("i4412"))
+                                #(ribcage #(p) #((top)) #("i4416"))
                                 #(ribcage () () ())
                                 #(ribcage
                                   #(p lev)
                                   #((top) (top))
-                                  #("i4405" "i4406"))
+                                  #("i4409" "i4410"))
                                 #(ribcage
                                   (emit quasivector
                                         quasilist*
@@ -15472,27 +15187,27 @@
                                         vquasi
                                         quasi)
                                   ((top) (top) (top) (top) (top) (top) (top))
-                                  ("i4401"
+                                  ("i4405"
+                                   "i4403"
+                                   "i4401"
                                    "i4399"
                                    "i4397"
                                    "i4395"
-                                   "i4393"
-                                   "i4391"
-                                   "i4389")))
+                                   "i4393")))
                                (hygiene guile)))
-                           (#{quasi 4390}#
-                             (list #{p 4413}#)
-                             (#{1+}# #{lev 4404}#))))
-                       #{tmp 4411}#)
-                     (let ((#{tmp 4414}#
-                             ($sc-dispatch #{tmp 4407}# '(any . any))))
-                       (if #{tmp 4414}#
+                           (#{quasi 4394}#
+                             (list #{p 4417}#)
+                             (#{1+}# #{lev 4408}#))))
+                       #{tmp 4415}#)
+                     (let ((#{tmp 4418}#
+                             ($sc-dispatch #{tmp 4411}# '(any . any))))
+                       (if #{tmp 4418}#
                          (@apply
-                           (lambda (#{p 4417}# #{q 4418}#)
-                             (let ((#{tmp 4419}# #{p 4417}#))
-                               (let ((#{tmp 4420}#
+                           (lambda (#{p 4421}# #{q 4422}#)
+                             (let ((#{tmp 4423}# #{p 4421}#))
+                               (let ((#{tmp 4424}#
                                        ($sc-dispatch
-                                         #{tmp 4419}#
+                                         #{tmp 4423}#
                                          '(#(free-id
                                              #(syntax-object
                                                unquote
@@ -15500,12 +15215,12 @@
                                                 #(ribcage
                                                   #(p q)
                                                   #((top) (top))
-                                                  #("i4415" "i4416"))
+                                                  #("i4419" "i4420"))
                                                 #(ribcage () () ())
                                                 #(ribcage
                                                   #(p lev)
                                                   #((top) (top))
-                                                  #("i4405" "i4406"))
+                                                  #("i4409" "i4410"))
                                                 #(ribcage
                                                   (emit quasivector
                                                         quasilist*
@@ -15520,40 +15235,40 @@
                                                    (top)
                                                    (top)
                                                    (top))
-                                                  ("i4401"
+                                                  ("i4405"
+                                                   "i4403"
+                                                   "i4401"
                                                    "i4399"
                                                    "i4397"
                                                    "i4395"
-                                                   "i4393"
-                                                   "i4391"
-                                                   "i4389")))
+                                                   "i4393")))
                                                (hygiene guile)))
                                            .
                                            each-any))))
-                                 (if #{tmp 4420}#
+                                 (if #{tmp 4424}#
                                    (@apply
-                                     (lambda (#{p 4422}#)
-                                       (if (= #{lev 4404}# 0)
-                                         (#{quasilist* 4398}#
-                                           (map (lambda (#{tmp 4423}#)
+                                     (lambda (#{p 4426}#)
+                                       (if (= #{lev 4408}# 0)
+                                         (#{quasilist* 4402}#
+                                           (map (lambda (#{tmp 4427}#)
                                                   (list '#(syntax-object
                                                            "value"
                                                            ((top)
                                                             #(ribcage
                                                               #(p)
                                                               #((top))
-                                                              #("i4421"))
+                                                              #("i4425"))
                                                             #(ribcage
                                                               #(p q)
                                                               #((top) (top))
-                                                              #("i4415"
-                                                                "i4416"))
+                                                              #("i4419"
+                                                                "i4420"))
                                                             #(ribcage () () ())
                                                             #(ribcage
                                                               #(p lev)
                                                               #((top) (top))
-                                                              #("i4405"
-                                                                "i4406"))
+                                                              #("i4409"
+                                                                "i4410"))
                                                             #(ribcage
                                                               (emit quasivector
                                                                     quasilist*
@@ -15568,37 +15283,37 @@
                                                                (top)
                                                                (top)
                                                                (top))
-                                                              ("i4401"
+                                                              ("i4405"
+                                                               "i4403"
+                                                               "i4401"
                                                                "i4399"
                                                                "i4397"
                                                                "i4395"
-                                                               "i4393"
-                                                               "i4391"
-                                                               "i4389")))
+                                                               "i4393")))
                                                            (hygiene guile))
-                                                        #{tmp 4423}#))
-                                                #{p 4422}#)
-                                           (#{quasi 4390}#
-                                             #{q 4418}#
-                                             #{lev 4404}#))
-                                         (#{quasicons 4394}#
-                                           (#{quasicons 4394}#
+                                                        #{tmp 4427}#))
+                                                #{p 4426}#)
+                                           (#{quasi 4394}#
+                                             #{q 4422}#
+                                             #{lev 4408}#))
+                                         (#{quasicons 4398}#
+                                           (#{quasicons 4398}#
                                              '(#(syntax-object
                                                  "quote"
                                                  ((top)
                                                   #(ribcage
                                                     #(p)
                                                     #((top))
-                                                    #("i4421"))
+                                                    #("i4425"))
                                                   #(ribcage
                                                     #(p q)
                                                     #((top) (top))
-                                                    #("i4415" "i4416"))
+                                                    #("i4419" "i4420"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(p lev)
                                                     #((top) (top))
-                                                    #("i4405" "i4406"))
+                                                    #("i4409" "i4410"))
                                                   #(ribcage
                                                     (emit quasivector
                                                           quasilist*
@@ -15613,13 +15328,13 @@
                                                      (top)
                                                      (top)
                                                      (top))
-                                                    ("i4401"
+                                                    ("i4405"
+                                                     "i4403"
+                                                     "i4401"
                                                      "i4399"
                                                      "i4397"
                                                      "i4395"
-                                                     "i4393"
-                                                     "i4391"
-                                                     "i4389")))
+                                                     "i4393")))
                                                  (hygiene guile))
                                                #(syntax-object
                                                  unquote
@@ -15627,16 +15342,16 @@
                                                   #(ribcage
                                                     #(p)
                                                     #((top))
-                                                    #("i4421"))
+                                                    #("i4425"))
                                                   #(ribcage
                                                     #(p q)
                                                     #((top) (top))
-                                                    #("i4415" "i4416"))
+                                                    #("i4419" "i4420"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(p lev)
                                                     #((top) (top))
-                                                    #("i4405" "i4406"))
+                                                    #("i4409" "i4410"))
                                                   #(ribcage
                                                     (emit quasivector
                                                           quasilist*
@@ -15651,24 +15366,24 @@
                                                      (top)
                                                      (top)
                                                      (top))
-                                                    ("i4401"
+                                                    ("i4405"
+                                                     "i4403"
+                                                     "i4401"
                                                      "i4399"
                                                      "i4397"
                                                      "i4395"
-                                                     "i4393"
-                                                     "i4391"
-                                                     "i4389")))
+                                                     "i4393")))
                                                  (hygiene guile)))
-                                             (#{quasi 4390}#
-                                               #{p 4422}#
-                                               (#{1-}# #{lev 4404}#)))
-                                           (#{quasi 4390}#
-                                             #{q 4418}#
-                                             #{lev 4404}#))))
-                                     #{tmp 4420}#)
-                                   (let ((#{tmp 4425}#
+                                             (#{quasi 4394}#
+                                               #{p 4426}#
+                                               (#{1-}# #{lev 4408}#)))
+                                           (#{quasi 4394}#
+                                             #{q 4422}#
+                                             #{lev 4408}#))))
+                                     #{tmp 4424}#)
+                                   (let ((#{tmp 4429}#
                                            ($sc-dispatch
-                                             #{tmp 4419}#
+                                             #{tmp 4423}#
                                              '(#(free-id
                                                  #(syntax-object
                                                    unquote-splicing
@@ -15676,12 +15391,12 @@
                                                     #(ribcage
                                                       #(p q)
                                                       #((top) (top))
-                                                      #("i4415" "i4416"))
+                                                      #("i4419" "i4420"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(p lev)
                                                       #((top) (top))
-                                                      #("i4405" "i4406"))
+                                                      #("i4409" "i4410"))
                                                     #(ribcage
                                                       (emit quasivector
                                                             quasilist*
@@ -15696,35 +15411,35 @@
                                                        (top)
                                                        (top)
                                                        (top))
-                                                      ("i4401"
+                                                      ("i4405"
+                                                       "i4403"
+                                                       "i4401"
                                                        "i4399"
                                                        "i4397"
                                                        "i4395"
-                                                       "i4393"
-                                                       "i4391"
-                                                       "i4389")))
+                                                       "i4393")))
                                                    (hygiene guile)))
                                                .
                                                each-any))))
-                                     (if #{tmp 4425}#
+                                     (if #{tmp 4429}#
                                        (@apply
-                                         (lambda (#{p 4427}#)
-                                           (if (= #{lev 4404}# 0)
-                                             (#{quasiappend 4396}#
-                                               (map (lambda (#{tmp 4428}#)
+                                         (lambda (#{p 4431}#)
+                                           (if (= #{lev 4408}# 0)
+                                             (#{quasiappend 4400}#
+                                               (map (lambda (#{tmp 4432}#)
                                                       (list '#(syntax-object
                                                                "value"
                                                                ((top)
                                                                 #(ribcage
                                                                   #(p)
                                                                   #((top))
-                                                                  #("i4426"))
+                                                                  #("i4430"))
                                                                 #(ribcage
                                                                   #(p q)
                                                                   #((top)
                                                                     (top))
-                                                                  #("i4415"
-                                                                    "i4416"))
+                                                                  #("i4419"
+                                                                    "i4420"))
                                                                 #(ribcage
                                                                   ()
                                                                   ()
@@ -15733,8 +15448,8 @@
                                                                   #(p lev)
                                                                   #((top)
                                                                     (top))
-                                                                  #("i4405"
-                                                                    "i4406"))
+                                                                  #("i4409"
+                                                                    "i4410"))
                                                                 #(ribcage
                                                                   (emit 
quasivector
                                                                         
quasilist*
@@ -15749,37 +15464,37 @@
                                                                    (top)
                                                                    (top)
                                                                    (top))
-                                                                  ("i4401"
+                                                                  ("i4405"
+                                                                   "i4403"
+                                                                   "i4401"
                                                                    "i4399"
                                                                    "i4397"
                                                                    "i4395"
-                                                                   "i4393"
-                                                                   "i4391"
-                                                                   "i4389")))
+                                                                   "i4393")))
                                                                (hygiene guile))
-                                                            #{tmp 4428}#))
-                                                    #{p 4427}#)
-                                               (#{quasi 4390}#
-                                                 #{q 4418}#
-                                                 #{lev 4404}#))
-                                             (#{quasicons 4394}#
-                                               (#{quasicons 4394}#
+                                                            #{tmp 4432}#))
+                                                    #{p 4431}#)
+                                               (#{quasi 4394}#
+                                                 #{q 4422}#
+                                                 #{lev 4408}#))
+                                             (#{quasicons 4398}#
+                                               (#{quasicons 4398}#
                                                  '(#(syntax-object
                                                      "quote"
                                                      ((top)
                                                       #(ribcage
                                                         #(p)
                                                         #((top))
-                                                        #("i4426"))
+                                                        #("i4430"))
                                                       #(ribcage
                                                         #(p q)
                                                         #((top) (top))
-                                                        #("i4415" "i4416"))
+                                                        #("i4419" "i4420"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(p lev)
                                                         #((top) (top))
-                                                        #("i4405" "i4406"))
+                                                        #("i4409" "i4410"))
                                                       #(ribcage
                                                         (emit quasivector
                                                               quasilist*
@@ -15794,13 +15509,13 @@
                                                          (top)
                                                          (top)
                                                          (top))
-                                                        ("i4401"
+                                                        ("i4405"
+                                                         "i4403"
+                                                         "i4401"
                                                          "i4399"
                                                          "i4397"
                                                          "i4395"
-                                                         "i4393"
-                                                         "i4391"
-                                                         "i4389")))
+                                                         "i4393")))
                                                      (hygiene guile))
                                                    #(syntax-object
                                                      unquote-splicing
@@ -15808,16 +15523,16 @@
                                                       #(ribcage
                                                         #(p)
                                                         #((top))
-                                                        #("i4426"))
+                                                        #("i4430"))
                                                       #(ribcage
                                                         #(p q)
                                                         #((top) (top))
-                                                        #("i4415" "i4416"))
+                                                        #("i4419" "i4420"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(p lev)
                                                         #((top) (top))
-                                                        #("i4405" "i4406"))
+                                                        #("i4409" "i4410"))
                                                       #(ribcage
                                                         (emit quasivector
                                                               quasilist*
@@ -15832,50 +15547,50 @@
                                                          (top)
                                                          (top)
                                                          (top))
-                                                        ("i4401"
+                                                        ("i4405"
+                                                         "i4403"
+                                                         "i4401"
                                                          "i4399"
                                                          "i4397"
                                                          "i4395"
-                                                         "i4393"
-                                                         "i4391"
-                                                         "i4389")))
+                                                         "i4393")))
                                                      (hygiene guile)))
-                                                 (#{quasi 4390}#
-                                                   #{p 4427}#
-                                                   (#{1-}# #{lev 4404}#)))
-                                               (#{quasi 4390}#
-                                                 #{q 4418}#
-                                                 #{lev 4404}#))))
-                                         #{tmp 4425}#)
-                                       (let ((#{_ 4431}# #{tmp 4419}#))
-                                         (#{quasicons 4394}#
-                                           (#{quasi 4390}#
-                                             #{p 4417}#
-                                             #{lev 4404}#)
-                                           (#{quasi 4390}#
-                                             #{q 4418}#
-                                             #{lev 4404}#)))))))))
-                           #{tmp 4414}#)
-                         (let ((#{tmp 4432}#
+                                                 (#{quasi 4394}#
+                                                   #{p 4431}#
+                                                   (#{1-}# #{lev 4408}#)))
+                                               (#{quasi 4394}#
+                                                 #{q 4422}#
+                                                 #{lev 4408}#))))
+                                         #{tmp 4429}#)
+                                       (let ((#{_ 4435}# #{tmp 4423}#))
+                                         (#{quasicons 4398}#
+                                           (#{quasi 4394}#
+                                             #{p 4421}#
+                                             #{lev 4408}#)
+                                           (#{quasi 4394}#
+                                             #{q 4422}#
+                                             #{lev 4408}#)))))))))
+                           #{tmp 4418}#)
+                         (let ((#{tmp 4436}#
                                  ($sc-dispatch
-                                   #{tmp 4407}#
+                                   #{tmp 4411}#
                                    '#(vector each-any))))
-                           (if #{tmp 4432}#
+                           (if #{tmp 4436}#
                              (@apply
-                               (lambda (#{x 4434}#)
-                                 (#{quasivector 4400}#
-                                   (#{vquasi 4392}# #{x 4434}# #{lev 4404}#)))
-                               #{tmp 4432}#)
-                             (let ((#{p 4437}# #{tmp 4407}#))
+                               (lambda (#{x 4438}#)
+                                 (#{quasivector 4404}#
+                                   (#{vquasi 4396}# #{x 4438}# #{lev 4408}#)))
+                               #{tmp 4436}#)
+                             (let ((#{p 4441}# #{tmp 4411}#))
                                (list '#(syntax-object
                                         "quote"
                                         ((top)
-                                         #(ribcage #(p) #((top)) #("i4436"))
+                                         #(ribcage #(p) #((top)) #("i4440"))
                                          #(ribcage () () ())
                                          #(ribcage
                                            #(p lev)
                                            #((top) (top))
-                                           #("i4405" "i4406"))
+                                           #("i4409" "i4410"))
                                          #(ribcage
                                            (emit quasivector
                                                  quasilist*
@@ -15890,27 +15605,27 @@
                                             (top)
                                             (top)
                                             (top))
-                                           ("i4401"
+                                           ("i4405"
+                                            "i4403"
+                                            "i4401"
                                             "i4399"
                                             "i4397"
                                             "i4395"
-                                            "i4393"
-                                            "i4391"
-                                            "i4389")))
+                                            "i4393")))
                                         (hygiene guile))
-                                     #{p 4437}#)))))))))))))
-       (#{vquasi 4392}#
-         (lambda (#{p 4438}# #{lev 4439}#)
-           (let ((#{tmp 4442}# #{p 4438}#))
-             (let ((#{tmp 4443}#
-                     ($sc-dispatch #{tmp 4442}# '(any . any))))
-               (if #{tmp 4443}#
+                                     #{p 4441}#)))))))))))))
+       (#{vquasi 4396}#
+         (lambda (#{p 4442}# #{lev 4443}#)
+           (let ((#{tmp 4446}# #{p 4442}#))
+             (let ((#{tmp 4447}#
+                     ($sc-dispatch #{tmp 4446}# '(any . any))))
+               (if #{tmp 4447}#
                  (@apply
-                   (lambda (#{p 4446}# #{q 4447}#)
-                     (let ((#{tmp 4448}# #{p 4446}#))
-                       (let ((#{tmp 4449}#
+                   (lambda (#{p 4450}# #{q 4451}#)
+                     (let ((#{tmp 4452}# #{p 4450}#))
+                       (let ((#{tmp 4453}#
                                ($sc-dispatch
-                                 #{tmp 4448}#
+                                 #{tmp 4452}#
                                  '(#(free-id
                                      #(syntax-object
                                        unquote
@@ -15918,12 +15633,12 @@
                                         #(ribcage
                                           #(p q)
                                           #((top) (top))
-                                          #("i4444" "i4445"))
+                                          #("i4448" "i4449"))
                                         #(ribcage () () ())
                                         #(ribcage
                                           #(p lev)
                                           #((top) (top))
-                                          #("i4440" "i4441"))
+                                          #("i4444" "i4445"))
                                         #(ribcage
                                           (emit quasivector
                                                 quasilist*
@@ -15938,38 +15653,38 @@
                                            (top)
                                            (top)
                                            (top))
-                                          ("i4401"
+                                          ("i4405"
+                                           "i4403"
+                                           "i4401"
                                            "i4399"
                                            "i4397"
                                            "i4395"
-                                           "i4393"
-                                           "i4391"
-                                           "i4389")))
+                                           "i4393")))
                                        (hygiene guile)))
                                    .
                                    each-any))))
-                         (if #{tmp 4449}#
+                         (if #{tmp 4453}#
                            (@apply
-                             (lambda (#{p 4451}#)
-                               (if (= #{lev 4439}# 0)
-                                 (#{quasilist* 4398}#
-                                   (map (lambda (#{tmp 4452}#)
+                             (lambda (#{p 4455}#)
+                               (if (= #{lev 4443}# 0)
+                                 (#{quasilist* 4402}#
+                                   (map (lambda (#{tmp 4456}#)
                                           (list '#(syntax-object
                                                    "value"
                                                    ((top)
                                                     #(ribcage
                                                       #(p)
                                                       #((top))
-                                                      #("i4450"))
+                                                      #("i4454"))
                                                     #(ribcage
                                                       #(p q)
                                                       #((top) (top))
-                                                      #("i4444" "i4445"))
+                                                      #("i4448" "i4449"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(p lev)
                                                       #((top) (top))
-                                                      #("i4440" "i4441"))
+                                                      #("i4444" "i4445"))
                                                     #(ribcage
                                                       (emit quasivector
                                                             quasilist*
@@ -15984,32 +15699,32 @@
                                                        (top)
                                                        (top)
                                                        (top))
-                                                      ("i4401"
+                                                      ("i4405"
+                                                       "i4403"
+                                                       "i4401"
                                                        "i4399"
                                                        "i4397"
                                                        "i4395"
-                                                       "i4393"
-                                                       "i4391"
-                                                       "i4389")))
+                                                       "i4393")))
                                                    (hygiene guile))
-                                                #{tmp 4452}#))
-                                        #{p 4451}#)
-                                   (#{vquasi 4392}# #{q 4447}# #{lev 4439}#))
-                                 (#{quasicons 4394}#
-                                   (#{quasicons 4394}#
+                                                #{tmp 4456}#))
+                                        #{p 4455}#)
+                                   (#{vquasi 4396}# #{q 4451}# #{lev 4443}#))
+                                 (#{quasicons 4398}#
+                                   (#{quasicons 4398}#
                                      '(#(syntax-object
                                          "quote"
                                          ((top)
-                                          #(ribcage #(p) #((top)) #("i4450"))
+                                          #(ribcage #(p) #((top)) #("i4454"))
                                           #(ribcage
                                             #(p q)
                                             #((top) (top))
-                                            #("i4444" "i4445"))
+                                            #("i4448" "i4449"))
                                           #(ribcage () () ())
                                           #(ribcage
                                             #(p lev)
                                             #((top) (top))
-                                            #("i4440" "i4441"))
+                                            #("i4444" "i4445"))
                                           #(ribcage
                                             (emit quasivector
                                                   quasilist*
@@ -16024,27 +15739,27 @@
                                              (top)
                                              (top)
                                              (top))
-                                            ("i4401"
+                                            ("i4405"
+                                             "i4403"
+                                             "i4401"
                                              "i4399"
                                              "i4397"
                                              "i4395"
-                                             "i4393"
-                                             "i4391"
-                                             "i4389")))
+                                             "i4393")))
                                          (hygiene guile))
                                        #(syntax-object
                                          unquote
                                          ((top)
-                                          #(ribcage #(p) #((top)) #("i4450"))
+                                          #(ribcage #(p) #((top)) #("i4454"))
                                           #(ribcage
                                             #(p q)
                                             #((top) (top))
-                                            #("i4444" "i4445"))
+                                            #("i4448" "i4449"))
                                           #(ribcage () () ())
                                           #(ribcage
                                             #(p lev)
                                             #((top) (top))
-                                            #("i4440" "i4441"))
+                                            #("i4444" "i4445"))
                                           #(ribcage
                                             (emit quasivector
                                                   quasilist*
@@ -16059,22 +15774,22 @@
                                              (top)
                                              (top)
                                              (top))
-                                            ("i4401"
+                                            ("i4405"
+                                             "i4403"
+                                             "i4401"
                                              "i4399"
                                              "i4397"
                                              "i4395"
-                                             "i4393"
-                                             "i4391"
-                                             "i4389")))
+                                             "i4393")))
                                          (hygiene guile)))
-                                     (#{quasi 4390}#
-                                       #{p 4451}#
-                                       (#{1-}# #{lev 4439}#)))
-                                   (#{vquasi 4392}# #{q 4447}# #{lev 4439}#))))
-                             #{tmp 4449}#)
-                           (let ((#{tmp 4454}#
+                                     (#{quasi 4394}#
+                                       #{p 4455}#
+                                       (#{1-}# #{lev 4443}#)))
+                                   (#{vquasi 4396}# #{q 4451}# #{lev 4443}#))))
+                             #{tmp 4453}#)
+                           (let ((#{tmp 4458}#
                                    ($sc-dispatch
-                                     #{tmp 4448}#
+                                     #{tmp 4452}#
                                      '(#(free-id
                                          #(syntax-object
                                            unquote-splicing
@@ -16082,12 +15797,12 @@
                                             #(ribcage
                                               #(p q)
                                               #((top) (top))
-                                              #("i4444" "i4445"))
+                                              #("i4448" "i4449"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(p lev)
                                               #((top) (top))
-                                              #("i4440" "i4441"))
+                                              #("i4444" "i4445"))
                                             #(ribcage
                                               (emit quasivector
                                                     quasilist*
@@ -16102,38 +15817,38 @@
                                                (top)
                                                (top)
                                                (top))
-                                              ("i4401"
+                                              ("i4405"
+                                               "i4403"
+                                               "i4401"
                                                "i4399"
                                                "i4397"
                                                "i4395"
-                                               "i4393"
-                                               "i4391"
-                                               "i4389")))
+                                               "i4393")))
                                            (hygiene guile)))
                                        .
                                        each-any))))
-                             (if #{tmp 4454}#
+                             (if #{tmp 4458}#
                                (@apply
-                                 (lambda (#{p 4456}#)
-                                   (if (= #{lev 4439}# 0)
-                                     (#{quasiappend 4396}#
-                                       (map (lambda (#{tmp 4457}#)
+                                 (lambda (#{p 4460}#)
+                                   (if (= #{lev 4443}# 0)
+                                     (#{quasiappend 4400}#
+                                       (map (lambda (#{tmp 4461}#)
                                               (list '#(syntax-object
                                                        "value"
                                                        ((top)
                                                         #(ribcage
                                                           #(p)
                                                           #((top))
-                                                          #("i4455"))
+                                                          #("i4459"))
                                                         #(ribcage
                                                           #(p q)
                                                           #((top) (top))
-                                                          #("i4444" "i4445"))
+                                                          #("i4448" "i4449"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(p lev)
                                                           #((top) (top))
-                                                          #("i4440" "i4441"))
+                                                          #("i4444" "i4445"))
                                                         #(ribcage
                                                           (emit quasivector
                                                                 quasilist*
@@ -16148,37 +15863,37 @@
                                                            (top)
                                                            (top)
                                                            (top))
-                                                          ("i4401"
+                                                          ("i4405"
+                                                           "i4403"
+                                                           "i4401"
                                                            "i4399"
                                                            "i4397"
                                                            "i4395"
-                                                           "i4393"
-                                                           "i4391"
-                                                           "i4389")))
+                                                           "i4393")))
                                                        (hygiene guile))
-                                                    #{tmp 4457}#))
-                                            #{p 4456}#)
-                                       (#{vquasi 4392}#
-                                         #{q 4447}#
-                                         #{lev 4439}#))
-                                     (#{quasicons 4394}#
-                                       (#{quasicons 4394}#
+                                                    #{tmp 4461}#))
+                                            #{p 4460}#)
+                                       (#{vquasi 4396}#
+                                         #{q 4451}#
+                                         #{lev 4443}#))
+                                     (#{quasicons 4398}#
+                                       (#{quasicons 4398}#
                                          '(#(syntax-object
                                              "quote"
                                              ((top)
                                               #(ribcage
                                                 #(p)
                                                 #((top))
-                                                #("i4455"))
+                                                #("i4459"))
                                               #(ribcage
                                                 #(p q)
                                                 #((top) (top))
-                                                #("i4444" "i4445"))
+                                                #("i4448" "i4449"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(p lev)
                                                 #((top) (top))
-                                                #("i4440" "i4441"))
+                                                #("i4444" "i4445"))
                                               #(ribcage
                                                 (emit quasivector
                                                       quasilist*
@@ -16193,13 +15908,13 @@
                                                  (top)
                                                  (top)
                                                  (top))
-                                                ("i4401"
+                                                ("i4405"
+                                                 "i4403"
+                                                 "i4401"
                                                  "i4399"
                                                  "i4397"
                                                  "i4395"
-                                                 "i4393"
-                                                 "i4391"
-                                                 "i4389")))
+                                                 "i4393")))
                                              (hygiene guile))
                                            #(syntax-object
                                              unquote-splicing
@@ -16207,16 +15922,16 @@
                                               #(ribcage
                                                 #(p)
                                                 #((top))
-                                                #("i4455"))
+                                                #("i4459"))
                                               #(ribcage
                                                 #(p q)
                                                 #((top) (top))
-                                                #("i4444" "i4445"))
+                                                #("i4448" "i4449"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(p lev)
                                                 #((top) (top))
-                                                #("i4440" "i4441"))
+                                                #("i4444" "i4445"))
                                               #(ribcage
                                                 (emit quasivector
                                                       quasilist*
@@ -16231,30 +15946,30 @@
                                                  (top)
                                                  (top)
                                                  (top))
-                                                ("i4401"
+                                                ("i4405"
+                                                 "i4403"
+                                                 "i4401"
                                                  "i4399"
                                                  "i4397"
                                                  "i4395"
-                                                 "i4393"
-                                                 "i4391"
-                                                 "i4389")))
+                                                 "i4393")))
                                              (hygiene guile)))
-                                         (#{quasi 4390}#
-                                           #{p 4456}#
-                                           (#{1-}# #{lev 4439}#)))
-                                       (#{vquasi 4392}#
-                                         #{q 4447}#
-                                         #{lev 4439}#))))
-                                 #{tmp 4454}#)
-                               (let ((#{_ 4460}# #{tmp 4448}#))
-                                 (#{quasicons 4394}#
-                                   (#{quasi 4390}# #{p 4446}# #{lev 4439}#)
-                                   (#{vquasi 4392}#
-                                     #{q 4447}#
-                                     #{lev 4439}#)))))))))
-                   #{tmp 4443}#)
-                 (let ((#{tmp 4461}# ($sc-dispatch #{tmp 4442}# '())))
-                   (if #{tmp 4461}#
+                                         (#{quasi 4394}#
+                                           #{p 4460}#
+                                           (#{1-}# #{lev 4443}#)))
+                                       (#{vquasi 4396}#
+                                         #{q 4451}#
+                                         #{lev 4443}#))))
+                                 #{tmp 4458}#)
+                               (let ((#{_ 4464}# #{tmp 4452}#))
+                                 (#{quasicons 4398}#
+                                   (#{quasi 4394}# #{p 4450}# #{lev 4443}#)
+                                   (#{vquasi 4396}#
+                                     #{q 4451}#
+                                     #{lev 4443}#)))))))))
+                   #{tmp 4447}#)
+                 (let ((#{tmp 4465}# ($sc-dispatch #{tmp 4446}# '())))
+                   (if #{tmp 4465}#
                      (@apply
                        (lambda ()
                          '(#(syntax-object
@@ -16264,7 +15979,7 @@
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i4440" "i4441"))
+                                #("i4444" "i4445"))
                               #(ribcage
                                 (emit quasivector
                                       quasilist*
@@ -16273,66 +15988,66 @@
                                       vquasi
                                       quasi)
                                 ((top) (top) (top) (top) (top) (top) (top))
-                                ("i4401"
+                                ("i4405"
+                                 "i4403"
+                                 "i4401"
                                  "i4399"
                                  "i4397"
                                  "i4395"
-                                 "i4393"
-                                 "i4391"
-                                 "i4389")))
+                                 "i4393")))
                              (hygiene guile))
                            ()))
-                       #{tmp 4461}#)
+                       #{tmp 4465}#)
                      (syntax-violation
                        #f
                        "source expression failed to match any pattern"
-                       #{tmp 4442}#))))))))
-       (#{quasicons 4394}#
-         (lambda (#{x 4462}# #{y 4463}#)
-           (let ((#{tmp 4467}# (list #{x 4462}# #{y 4463}#)))
-             (let ((#{tmp 4468}#
-                     ($sc-dispatch #{tmp 4467}# '(any any))))
-               (if #{tmp 4468}#
+                       #{tmp 4446}#))))))))
+       (#{quasicons 4398}#
+         (lambda (#{x 4466}# #{y 4467}#)
+           (let ((#{tmp 4471}# (list #{x 4466}# #{y 4467}#)))
+             (let ((#{tmp 4472}#
+                     ($sc-dispatch #{tmp 4471}# '(any any))))
+               (if #{tmp 4472}#
                  (@apply
-                   (lambda (#{x 4471}# #{y 4472}#)
-                     (let ((#{tmp 4473}# #{y 4472}#))
-                       (let ((#{tmp 4474}#
+                   (lambda (#{x 4475}# #{y 4476}#)
+                     (let ((#{tmp 4477}# #{y 4476}#))
+                       (let ((#{tmp 4478}#
                                ($sc-dispatch
-                                 #{tmp 4473}#
+                                 #{tmp 4477}#
                                  '(#(atom "quote") any))))
-                         (if #{tmp 4474}#
+                         (if #{tmp 4478}#
                            (@apply
-                             (lambda (#{dy 4476}#)
-                               (let ((#{tmp 4477}# #{x 4471}#))
-                                 (let ((#{tmp 4478}#
+                             (lambda (#{dy 4480}#)
+                               (let ((#{tmp 4481}# #{x 4475}#))
+                                 (let ((#{tmp 4482}#
                                          ($sc-dispatch
-                                           #{tmp 4477}#
+                                           #{tmp 4481}#
                                            '(#(atom "quote") any))))
-                                   (if #{tmp 4478}#
+                                   (if #{tmp 4482}#
                                      (@apply
-                                       (lambda (#{dx 4480}#)
+                                       (lambda (#{dx 4484}#)
                                          (list '#(syntax-object
                                                   "quote"
                                                   ((top)
                                                    #(ribcage
                                                      #(dx)
                                                      #((top))
-                                                     #("i4479"))
+                                                     #("i4483"))
                                                    #(ribcage
                                                      #(dy)
                                                      #((top))
-                                                     #("i4475"))
+                                                     #("i4479"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4469" "i4470"))
+                                                     #("i4473" "i4474"))
                                                    #(ribcage () () ())
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4464" "i4465"))
+                                                     #("i4468" "i4469"))
                                                    #(ribcage
                                                      (emit quasivector
                                                            quasilist*
@@ -16347,40 +16062,40 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                     ("i4401"
+                                                     ("i4405"
+                                                      "i4403"
+                                                      "i4401"
                                                       "i4399"
                                                       "i4397"
                                                       "i4395"
-                                                      "i4393"
-                                                      "i4391"
-                                                      "i4389")))
+                                                      "i4393")))
                                                   (hygiene guile))
-                                               (cons #{dx 4480}# #{dy 4476}#)))
-                                       #{tmp 4478}#)
-                                     (let ((#{_ 4482}# #{tmp 4477}#))
-                                       (if (null? #{dy 4476}#)
+                                               (cons #{dx 4484}# #{dy 4480}#)))
+                                       #{tmp 4482}#)
+                                     (let ((#{_ 4486}# #{tmp 4481}#))
+                                       (if (null? #{dy 4480}#)
                                          (list '#(syntax-object
                                                   "list"
                                                   ((top)
                                                    #(ribcage
                                                      #(_)
                                                      #((top))
-                                                     #("i4481"))
+                                                     #("i4485"))
                                                    #(ribcage
                                                      #(dy)
                                                      #((top))
-                                                     #("i4475"))
+                                                     #("i4479"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4469" "i4470"))
+                                                     #("i4473" "i4474"))
                                                    #(ribcage () () ())
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4464" "i4465"))
+                                                     #("i4468" "i4469"))
                                                    #(ribcage
                                                      (emit quasivector
                                                            quasilist*
@@ -16395,37 +16110,37 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                     ("i4401"
+                                                     ("i4405"
+                                                      "i4403"
+                                                      "i4401"
                                                       "i4399"
                                                       "i4397"
                                                       "i4395"
-                                                      "i4393"
-                                                      "i4391"
-                                                      "i4389")))
+                                                      "i4393")))
                                                   (hygiene guile))
-                                               #{x 4471}#)
+                                               #{x 4475}#)
                                          (list '#(syntax-object
                                                   "list*"
                                                   ((top)
                                                    #(ribcage
                                                      #(_)
                                                      #((top))
-                                                     #("i4481"))
+                                                     #("i4485"))
                                                    #(ribcage
                                                      #(dy)
                                                      #((top))
-                                                     #("i4475"))
+                                                     #("i4479"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4469" "i4470"))
+                                                     #("i4473" "i4474"))
                                                    #(ribcage () () ())
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4464" "i4465"))
+                                                     #("i4468" "i4469"))
                                                    #(ribcage
                                                      (emit quasivector
                                                            quasilist*
@@ -16440,42 +16155,42 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                     ("i4401"
+                                                     ("i4405"
+                                                      "i4403"
+                                                      "i4401"
                                                       "i4399"
                                                       "i4397"
                                                       "i4395"
-                                                      "i4393"
-                                                      "i4391"
-                                                      "i4389")))
+                                                      "i4393")))
                                                   (hygiene guile))
-                                               #{x 4471}#
-                                               #{y 4472}#)))))))
-                             #{tmp 4474}#)
-                           (let ((#{tmp 4483}#
+                                               #{x 4475}#
+                                               #{y 4476}#)))))))
+                             #{tmp 4478}#)
+                           (let ((#{tmp 4487}#
                                    ($sc-dispatch
-                                     #{tmp 4473}#
+                                     #{tmp 4477}#
                                      '(#(atom "list") . any))))
-                             (if #{tmp 4483}#
+                             (if #{tmp 4487}#
                                (@apply
-                                 (lambda (#{stuff 4485}#)
+                                 (lambda (#{stuff 4489}#)
                                    (cons '#(syntax-object
                                             "list"
                                             ((top)
                                              #(ribcage
                                                #(stuff)
                                                #((top))
-                                               #("i4484"))
+                                               #("i4488"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i4469" "i4470"))
+                                               #("i4473" "i4474"))
                                              #(ribcage () () ())
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i4464" "i4465"))
+                                               #("i4468" "i4469"))
                                              #(ribcage
                                                (emit quasivector
                                                      quasilist*
@@ -16490,41 +16205,41 @@
                                                 (top)
                                                 (top)
                                                 (top))
-                                               ("i4401"
+                                               ("i4405"
+                                                "i4403"
+                                                "i4401"
                                                 "i4399"
                                                 "i4397"
                                                 "i4395"
-                                                "i4393"
-                                                "i4391"
-                                                "i4389")))
+                                                "i4393")))
                                             (hygiene guile))
-                                         (cons #{x 4471}# #{stuff 4485}#)))
-                                 #{tmp 4483}#)
-                               (let ((#{tmp 4486}#
+                                         (cons #{x 4475}# #{stuff 4489}#)))
+                                 #{tmp 4487}#)
+                               (let ((#{tmp 4490}#
                                        ($sc-dispatch
-                                         #{tmp 4473}#
+                                         #{tmp 4477}#
                                          '(#(atom "list*") . any))))
-                                 (if #{tmp 4486}#
+                                 (if #{tmp 4490}#
                                    (@apply
-                                     (lambda (#{stuff 4488}#)
+                                     (lambda (#{stuff 4492}#)
                                        (cons '#(syntax-object
                                                 "list*"
                                                 ((top)
                                                  #(ribcage
                                                    #(stuff)
                                                    #((top))
-                                                   #("i4487"))
+                                                   #("i4491"))
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(x y)
                                                    #((top) (top))
-                                                   #("i4469" "i4470"))
+                                                   #("i4473" "i4474"))
                                                  #(ribcage () () ())
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(x y)
                                                    #((top) (top))
-                                                   #("i4464" "i4465"))
+                                                   #("i4468" "i4469"))
                                                  #(ribcage
                                                    (emit quasivector
                                                          quasilist*
@@ -16539,35 +16254,35 @@
                                                     (top)
                                                     (top)
                                                     (top))
-                                                   ("i4401"
+                                                   ("i4405"
+                                                    "i4403"
+                                                    "i4401"
                                                     "i4399"
                                                     "i4397"
                                                     "i4395"
-                                                    "i4393"
-                                                    "i4391"
-                                                    "i4389")))
+                                                    "i4393")))
                                                 (hygiene guile))
-                                             (cons #{x 4471}# #{stuff 4488}#)))
-                                     #{tmp 4486}#)
-                                   (let ((#{_ 4490}# #{tmp 4473}#))
+                                             (cons #{x 4475}# #{stuff 4492}#)))
+                                     #{tmp 4490}#)
+                                   (let ((#{_ 4494}# #{tmp 4477}#))
                                      (list '#(syntax-object
                                               "list*"
                                               ((top)
                                                #(ribcage
                                                  #(_)
                                                  #((top))
-                                                 #("i4489"))
+                                                 #("i4493"))
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x y)
                                                  #((top) (top))
-                                                 #("i4469" "i4470"))
+                                                 #("i4473" "i4474"))
                                                #(ribcage () () ())
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x y)
                                                  #((top) (top))
-                                                 #("i4464" "i4465"))
+                                                 #("i4468" "i4469"))
                                                #(ribcage
                                                  (emit quasivector
                                                        quasilist*
@@ -16582,30 +16297,30 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                 ("i4401"
+                                                 ("i4405"
+                                                  "i4403"
+                                                  "i4401"
                                                   "i4399"
                                                   "i4397"
                                                   "i4395"
-                                                  "i4393"
-                                                  "i4391"
-                                                  "i4389")))
+                                                  "i4393")))
                                               (hygiene guile))
-                                           #{x 4471}#
-                                           #{y 4472}#))))))))))
-                   #{tmp 4468}#)
+                                           #{x 4475}#
+                                           #{y 4476}#))))))))))
+                   #{tmp 4472}#)
                  (syntax-violation
                    #f
                    "source expression failed to match any pattern"
-                   #{tmp 4467}#))))))
-       (#{quasiappend 4396}#
-         (lambda (#{x 4491}# #{y 4492}#)
-           (let ((#{tmp 4495}# #{y 4492}#))
-             (let ((#{tmp 4496}#
-                     ($sc-dispatch #{tmp 4495}# '(#(atom "quote") ()))))
-               (if #{tmp 4496}#
+                   #{tmp 4471}#))))))
+       (#{quasiappend 4400}#
+         (lambda (#{x 4495}# #{y 4496}#)
+           (let ((#{tmp 4499}# #{y 4496}#))
+             (let ((#{tmp 4500}#
+                     ($sc-dispatch #{tmp 4499}# '(#(atom "quote") ()))))
+               (if #{tmp 4500}#
                  (@apply
                    (lambda ()
-                     (if (null? #{x 4491}#)
+                     (if (null? #{x 4495}#)
                        '(#(syntax-object
                            "quote"
                            ((top)
@@ -16613,7 +16328,7 @@
                             #(ribcage
                               #(x y)
                               #((top) (top))
-                              #("i4493" "i4494"))
+                              #("i4497" "i4498"))
                             #(ribcage
                               (emit quasivector
                                     quasilist*
@@ -16622,23 +16337,23 @@
                                     vquasi
                                     quasi)
                               ((top) (top) (top) (top) (top) (top) (top))
-                              ("i4401"
+                              ("i4405"
+                               "i4403"
+                               "i4401"
                                "i4399"
                                "i4397"
                                "i4395"
-                               "i4393"
-                               "i4391"
-                               "i4389")))
+                               "i4393")))
                            (hygiene guile))
                          ())
-                       (if (null? (cdr #{x 4491}#))
-                         (car #{x 4491}#)
-                         (let ((#{tmp 4503}# #{x 4491}#))
-                           (let ((#{tmp 4504}#
-                                   ($sc-dispatch #{tmp 4503}# 'each-any)))
-                             (if #{tmp 4504}#
+                       (if (null? (cdr #{x 4495}#))
+                         (car #{x 4495}#)
+                         (let ((#{tmp 4507}# #{x 4495}#))
+                           (let ((#{tmp 4508}#
+                                   ($sc-dispatch #{tmp 4507}# 'each-any)))
+                             (if #{tmp 4508}#
                                (@apply
-                                 (lambda (#{p 4506}#)
+                                 (lambda (#{p 4510}#)
                                    (cons '#(syntax-object
                                             "append"
                                             ((top)
@@ -16646,12 +16361,12 @@
                                              #(ribcage
                                                #(p)
                                                #((top))
-                                               #("i4505"))
+                                               #("i4509"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i4493" "i4494"))
+                                               #("i4497" "i4498"))
                                              #(ribcage
                                                (emit quasivector
                                                      quasilist*
@@ -16666,30 +16381,30 @@
                                                 (top)
                                                 (top)
                                                 (top))
-                                               ("i4401"
+                                               ("i4405"
+                                                "i4403"
+                                                "i4401"
                                                 "i4399"
                                                 "i4397"
                                                 "i4395"
-                                                "i4393"
-                                                "i4391"
-                                                "i4389")))
+                                                "i4393")))
                                             (hygiene guile))
-                                         #{p 4506}#))
-                                 #{tmp 4504}#)
+                                         #{p 4510}#))
+                                 #{tmp 4508}#)
                                (syntax-violation
                                  #f
                                  "source expression failed to match any 
pattern"
-                                 #{tmp 4503}#)))))))
-                   #{tmp 4496}#)
-                 (let ((#{_ 4509}# #{tmp 4495}#))
-                   (if (null? #{x 4491}#)
-                     #{y 4492}#
-                     (let ((#{tmp 4514}# (list #{x 4491}# #{y 4492}#)))
-                       (let ((#{tmp 4515}#
-                               ($sc-dispatch #{tmp 4514}# '(each-any any))))
-                         (if #{tmp 4515}#
+                                 #{tmp 4507}#)))))))
+                   #{tmp 4500}#)
+                 (let ((#{_ 4513}# #{tmp 4499}#))
+                   (if (null? #{x 4495}#)
+                     #{y 4496}#
+                     (let ((#{tmp 4518}# (list #{x 4495}# #{y 4496}#)))
+                       (let ((#{tmp 4519}#
+                               ($sc-dispatch #{tmp 4518}# '(each-any any))))
+                         (if #{tmp 4519}#
                            (@apply
-                             (lambda (#{p 4518}# #{y 4519}#)
+                             (lambda (#{p 4522}# #{y 4523}#)
                                (cons '#(syntax-object
                                         "append"
                                         ((top)
@@ -16697,13 +16412,13 @@
                                          #(ribcage
                                            #(p y)
                                            #((top) (top))
-                                           #("i4516" "i4517"))
-                                         #(ribcage #(_) #((top)) #("i4508"))
+                                           #("i4520" "i4521"))
+                                         #(ribcage #(_) #((top)) #("i4512"))
                                          #(ribcage () () ())
                                          #(ribcage
                                            #(x y)
                                            #((top) (top))
-                                           #("i4493" "i4494"))
+                                           #("i4497" "i4498"))
                                          #(ribcage
                                            (emit quasivector
                                                  quasilist*
@@ -16718,47 +16433,47 @@
                                             (top)
                                             (top)
                                             (top))
-                                           ("i4401"
+                                           ("i4405"
+                                            "i4403"
+                                            "i4401"
                                             "i4399"
                                             "i4397"
                                             "i4395"
-                                            "i4393"
-                                            "i4391"
-                                            "i4389")))
+                                            "i4393")))
                                         (hygiene guile))
-                                     (append #{p 4518}# (list #{y 4519}#))))
-                             #{tmp 4515}#)
+                                     (append #{p 4522}# (list #{y 4523}#))))
+                             #{tmp 4519}#)
                            (syntax-violation
                              #f
                              "source expression failed to match any pattern"
-                             #{tmp 4514}#)))))))))))
-       (#{quasilist* 4398}#
-         (lambda (#{x 4521}# #{y 4522}#)
+                             #{tmp 4518}#)))))))))))
+       (#{quasilist* 4402}#
+         (lambda (#{x 4525}# #{y 4526}#)
            (letrec*
-             ((#{f 4527}#
-                (lambda (#{x 4528}#)
-                  (if (null? #{x 4528}#)
-                    #{y 4522}#
-                    (#{quasicons 4394}#
-                      (car #{x 4528}#)
-                      (#{f 4527}# (cdr #{x 4528}#)))))))
-             (begin (#{f 4527}# #{x 4521}#)))))
-       (#{quasivector 4400}#
-         (lambda (#{x 4529}#)
-           (let ((#{tmp 4531}# #{x 4529}#))
-             (let ((#{tmp 4532}#
+             ((#{f 4531}#
+                (lambda (#{x 4532}#)
+                  (if (null? #{x 4532}#)
+                    #{y 4526}#
+                    (#{quasicons 4398}#
+                      (car #{x 4532}#)
+                      (#{f 4531}# (cdr #{x 4532}#)))))))
+             (#{f 4531}# #{x 4525}#))))
+       (#{quasivector 4404}#
+         (lambda (#{x 4533}#)
+           (let ((#{tmp 4535}# #{x 4533}#))
+             (let ((#{tmp 4536}#
                      ($sc-dispatch
-                       #{tmp 4531}#
+                       #{tmp 4535}#
                        '(#(atom "quote") each-any))))
-               (if #{tmp 4532}#
+               (if #{tmp 4536}#
                  (@apply
-                   (lambda (#{x 4534}#)
+                   (lambda (#{x 4538}#)
                      (list '#(syntax-object
                               "quote"
                               ((top)
-                               #(ribcage #(x) #((top)) #("i4533"))
+                               #(ribcage #(x) #((top)) #("i4537"))
                                #(ribcage () () ())
-                               #(ribcage #(x) #((top)) #("i4530"))
+                               #(ribcage #(x) #((top)) #("i4534"))
                                #(ribcage
                                  (emit quasivector
                                        quasilist*
@@ -16767,53 +16482,53 @@
                                        vquasi
                                        quasi)
                                  ((top) (top) (top) (top) (top) (top) (top))
-                                 ("i4401"
+                                 ("i4405"
+                                  "i4403"
+                                  "i4401"
                                   "i4399"
                                   "i4397"
                                   "i4395"
-                                  "i4393"
-                                  "i4391"
-                                  "i4389")))
+                                  "i4393")))
                               (hygiene guile))
-                           (list->vector #{x 4534}#)))
-                   #{tmp 4532}#)
-                 (let ((#{_ 4537}# #{tmp 4531}#))
+                           (list->vector #{x 4538}#)))
+                   #{tmp 4536}#)
+                 (let ((#{_ 4541}# #{tmp 4535}#))
                    (letrec*
-                     ((#{f 4541}#
-                        (lambda (#{y 4542}# #{k 4543}#)
-                          (let ((#{tmp 4554}# #{y 4542}#))
-                            (let ((#{tmp 4555}#
+                     ((#{f 4545}#
+                        (lambda (#{y 4546}# #{k 4547}#)
+                          (let ((#{tmp 4558}# #{y 4546}#))
+                            (let ((#{tmp 4559}#
                                     ($sc-dispatch
-                                      #{tmp 4554}#
+                                      #{tmp 4558}#
                                       '(#(atom "quote") each-any))))
-                              (if #{tmp 4555}#
+                              (if #{tmp 4559}#
                                 (@apply
-                                  (lambda (#{y 4557}#)
-                                    (#{k 4543}#
-                                      (map (lambda (#{tmp 4558}#)
+                                  (lambda (#{y 4561}#)
+                                    (#{k 4547}#
+                                      (map (lambda (#{tmp 4562}#)
                                              (list '#(syntax-object
                                                       "quote"
                                                       ((top)
                                                        #(ribcage
                                                          #(y)
                                                          #((top))
-                                                         #("i4556"))
+                                                         #("i4560"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(f y k)
                                                          #((top) (top) (top))
-                                                         #("i4538"
-                                                           "i4539"
-                                                           "i4540"))
+                                                         #("i4542"
+                                                           "i4543"
+                                                           "i4544"))
                                                        #(ribcage
                                                          #(_)
                                                          #((top))
-                                                         #("i4536"))
+                                                         #("i4540"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i4530"))
+                                                         #("i4534"))
                                                        #(ribcage
                                                          (emit quasivector
                                                                quasilist*
@@ -16828,75 +16543,75 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                         ("i4401"
+                                                         ("i4405"
+                                                          "i4403"
+                                                          "i4401"
                                                           "i4399"
                                                           "i4397"
                                                           "i4395"
-                                                          "i4393"
-                                                          "i4391"
-                                                          "i4389")))
+                                                          "i4393")))
                                                       (hygiene guile))
-                                                   #{tmp 4558}#))
-                                           #{y 4557}#)))
-                                  #{tmp 4555}#)
-                                (let ((#{tmp 4559}#
+                                                   #{tmp 4562}#))
+                                           #{y 4561}#)))
+                                  #{tmp 4559}#)
+                                (let ((#{tmp 4563}#
                                         ($sc-dispatch
-                                          #{tmp 4554}#
+                                          #{tmp 4558}#
                                           '(#(atom "list") . each-any))))
-                                  (if #{tmp 4559}#
+                                  (if #{tmp 4563}#
                                     (@apply
-                                      (lambda (#{y 4561}#)
-                                        (#{k 4543}# #{y 4561}#))
-                                      #{tmp 4559}#)
-                                    (let ((#{tmp 4563}#
+                                      (lambda (#{y 4565}#)
+                                        (#{k 4547}# #{y 4565}#))
+                                      #{tmp 4563}#)
+                                    (let ((#{tmp 4567}#
                                             ($sc-dispatch
-                                              #{tmp 4554}#
+                                              #{tmp 4558}#
                                               '(#(atom "list*")
                                                 .
                                                 #(each+ any (any) ())))))
-                                      (if #{tmp 4563}#
+                                      (if #{tmp 4567}#
                                         (@apply
-                                          (lambda (#{y 4566}# #{z 4567}#)
-                                            (#{f 4541}#
-                                              #{z 4567}#
-                                              (lambda (#{ls 4568}#)
-                                                (#{k 4543}#
+                                          (lambda (#{y 4570}# #{z 4571}#)
+                                            (#{f 4545}#
+                                              #{z 4571}#
+                                              (lambda (#{ls 4572}#)
+                                                (#{k 4547}#
                                                   (append
-                                                    #{y 4566}#
-                                                    #{ls 4568}#)))))
-                                          #{tmp 4563}#)
-                                        (let ((#{else 4572}# #{tmp 4554}#))
-                                          (let ((#{tmp 4576}# #{x 4529}#))
-                                            (let ((#{ g4573 4578}#
-                                                    #{tmp 4576}#))
+                                                    #{y 4570}#
+                                                    #{ls 4572}#)))))
+                                          #{tmp 4567}#)
+                                        (let ((#{else 4576}# #{tmp 4558}#))
+                                          (let ((#{tmp 4580}# #{x 4533}#))
+                                            (let ((#{ g4577 4582}#
+                                                    #{tmp 4580}#))
                                               (list '#(syntax-object
                                                        "list->vector"
                                                        ((top)
                                                         #(ribcage () () ())
                                                         #(ribcage
-                                                          #(#{ g4573}#)
-                                                          #((m4574 top))
-                                                          #("i4577"))
+                                                          #(#{ g4577}#)
+                                                          #((m4578 top))
+                                                          #("i4581"))
                                                         #(ribcage
                                                           #(else)
                                                           #((top))
-                                                          #("i4571"))
+                                                          #("i4575"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(f y k)
                                                           #((top) (top) (top))
-                                                          #("i4538"
-                                                            "i4539"
-                                                            "i4540"))
+                                                          #("i4542"
+                                                            "i4543"
+                                                            "i4544"))
                                                         #(ribcage
                                                           #(_)
                                                           #((top))
-                                                          #("i4536"))
+                                                          #("i4540"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(x)
                                                           #((top))
-                                                          #("i4530"))
+                                                          #("i4534"))
                                                         #(ribcage
                                                           (emit quasivector
                                                                 quasilist*
@@ -16911,93 +16626,92 @@
                                                            (top)
                                                            (top)
                                                            (top))
-                                                          ("i4401"
+                                                          ("i4405"
+                                                           "i4403"
+                                                           "i4401"
                                                            "i4399"
                                                            "i4397"
                                                            "i4395"
-                                                           "i4393"
-                                                           "i4391"
-                                                           "i4389")))
+                                                           "i4393")))
                                                        (hygiene guile))
-                                                    #{ g4573 
4578}#))))))))))))))
-                     (begin
-                       (#{f 4541}#
-                         #{x 4529}#
-                         (lambda (#{ls 4544}#)
-                           (let ((#{tmp 4549}# #{ls 4544}#))
-                             (let ((#{tmp 4550}#
-                                     ($sc-dispatch #{tmp 4549}# 'each-any)))
-                               (if #{tmp 4550}#
-                                 (@apply
-                                   (lambda (#{ g4546 4552}#)
-                                     (cons '#(syntax-object
-                                              "vector"
-                                              ((top)
-                                               #(ribcage () () ())
-                                               #(ribcage
-                                                 #(#{ g4546}#)
-                                                 #((m4547 top))
-                                                 #("i4551"))
-                                               #(ribcage () () ())
-                                               #(ribcage () () ())
-                                               #(ribcage () () ())
-                                               #(ribcage
-                                                 #(ls)
-                                                 #((top))
-                                                 #("i4545"))
-                                               #(ribcage
-                                                 #(_)
-                                                 #((top))
-                                                 #("i4536"))
-                                               #(ribcage () () ())
-                                               #(ribcage
-                                                 #(x)
-                                                 #((top))
-                                                 #("i4530"))
-                                               #(ribcage
-                                                 (emit quasivector
-                                                       quasilist*
-                                                       quasiappend
-                                                       quasicons
-                                                       vquasi
-                                                       quasi)
-                                                 ((top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top)
-                                                  (top))
-                                                 ("i4401"
-                                                  "i4399"
-                                                  "i4397"
-                                                  "i4395"
-                                                  "i4393"
-                                                  "i4391"
-                                                  "i4389")))
-                                              (hygiene guile))
-                                           #{ g4546 4552}#))
-                                   #{tmp 4550}#)
-                                 (syntax-violation
-                                   #f
-                                   "source expression failed to match any 
pattern"
-                                   #{tmp 4549}#))))))))))))))
-       (#{emit 4402}#
-         (lambda (#{x 4579}#)
-           (let ((#{tmp 4581}# #{x 4579}#))
-             (let ((#{tmp 4582}#
+                                                    #{ g4577 
4582}#))))))))))))))
+                     (#{f 4545}#
+                       #{x 4533}#
+                       (lambda (#{ls 4548}#)
+                         (let ((#{tmp 4553}# #{ls 4548}#))
+                           (let ((#{tmp 4554}#
+                                   ($sc-dispatch #{tmp 4553}# 'each-any)))
+                             (if #{tmp 4554}#
+                               (@apply
+                                 (lambda (#{ g4550 4556}#)
+                                   (cons '#(syntax-object
+                                            "vector"
+                                            ((top)
+                                             #(ribcage () () ())
+                                             #(ribcage
+                                               #(#{ g4550}#)
+                                               #((m4551 top))
+                                               #("i4555"))
+                                             #(ribcage () () ())
+                                             #(ribcage () () ())
+                                             #(ribcage () () ())
+                                             #(ribcage
+                                               #(ls)
+                                               #((top))
+                                               #("i4549"))
+                                             #(ribcage
+                                               #(_)
+                                               #((top))
+                                               #("i4540"))
+                                             #(ribcage () () ())
+                                             #(ribcage
+                                               #(x)
+                                               #((top))
+                                               #("i4534"))
+                                             #(ribcage
+                                               (emit quasivector
+                                                     quasilist*
+                                                     quasiappend
+                                                     quasicons
+                                                     vquasi
+                                                     quasi)
+                                               ((top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top))
+                                               ("i4405"
+                                                "i4403"
+                                                "i4401"
+                                                "i4399"
+                                                "i4397"
+                                                "i4395"
+                                                "i4393")))
+                                            (hygiene guile))
+                                         #{ g4550 4556}#))
+                                 #{tmp 4554}#)
+                               (syntax-violation
+                                 #f
+                                 "source expression failed to match any 
pattern"
+                                 #{tmp 4553}#)))))))))))))
+       (#{emit 4406}#
+         (lambda (#{x 4583}#)
+           (let ((#{tmp 4585}# #{x 4583}#))
+             (let ((#{tmp 4586}#
                      ($sc-dispatch
-                       #{tmp 4581}#
+                       #{tmp 4585}#
                        '(#(atom "quote") any))))
-               (if #{tmp 4582}#
+               (if #{tmp 4586}#
                  (@apply
-                   (lambda (#{x 4584}#)
+                   (lambda (#{x 4588}#)
                      (list '#(syntax-object
                               quote
                               ((top)
-                               #(ribcage #(x) #((top)) #("i4583"))
+                               #(ribcage #(x) #((top)) #("i4587"))
                                #(ribcage () () ())
-                               #(ribcage #(x) #((top)) #("i4580"))
+                               #(ribcage #(x) #((top)) #("i4584"))
                                #(ribcage
                                  (emit quasivector
                                        quasilist*
@@ -17006,46 +16720,46 @@
                                        vquasi
                                        quasi)
                                  ((top) (top) (top) (top) (top) (top) (top))
-                                 ("i4401"
+                                 ("i4405"
+                                  "i4403"
+                                  "i4401"
                                   "i4399"
                                   "i4397"
                                   "i4395"
-                                  "i4393"
-                                  "i4391"
-                                  "i4389")))
+                                  "i4393")))
                               (hygiene guile))
-                           #{x 4584}#))
-                   #{tmp 4582}#)
-                 (let ((#{tmp 4585}#
+                           #{x 4588}#))
+                   #{tmp 4586}#)
+                 (let ((#{tmp 4589}#
                          ($sc-dispatch
-                           #{tmp 4581}#
+                           #{tmp 4585}#
                            '(#(atom "list") . each-any))))
-                   (if #{tmp 4585}#
+                   (if #{tmp 4589}#
                      (@apply
-                       (lambda (#{x 4587}#)
-                         (let ((#{tmp 4591}# (map #{emit 4402}# #{x 4587}#)))
-                           (let ((#{tmp 4592}#
-                                   ($sc-dispatch #{tmp 4591}# 'each-any)))
-                             (if #{tmp 4592}#
+                       (lambda (#{x 4591}#)
+                         (let ((#{tmp 4595}# (map #{emit 4406}# #{x 4591}#)))
+                           (let ((#{tmp 4596}#
+                                   ($sc-dispatch #{tmp 4595}# 'each-any)))
+                             (if #{tmp 4596}#
                                (@apply
-                                 (lambda (#{ g4588 4594}#)
+                                 (lambda (#{ g4592 4598}#)
                                    (cons '#(syntax-object
                                             list
                                             ((top)
                                              #(ribcage () () ())
                                              #(ribcage
-                                               #(#{ g4588}#)
-                                               #((m4589 top))
-                                               #("i4593"))
+                                               #(#{ g4592}#)
+                                               #((m4593 top))
+                                               #("i4597"))
                                              #(ribcage
                                                #(x)
                                                #((top))
-                                               #("i4586"))
+                                               #("i4590"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x)
                                                #((top))
-                                               #("i4580"))
+                                               #("i4584"))
                                              #(ribcage
                                                (emit quasivector
                                                      quasilist*
@@ -17060,70 +16774,70 @@
                                                 (top)
                                                 (top)
                                                 (top))
-                                               ("i4401"
+                                               ("i4405"
+                                                "i4403"
+                                                "i4401"
                                                 "i4399"
                                                 "i4397"
                                                 "i4395"
-                                                "i4393"
-                                                "i4391"
-                                                "i4389")))
+                                                "i4393")))
                                             (hygiene guile))
-                                         #{ g4588 4594}#))
-                                 #{tmp 4592}#)
+                                         #{ g4592 4598}#))
+                                 #{tmp 4596}#)
                                (syntax-violation
                                  #f
                                  "source expression failed to match any 
pattern"
-                                 #{tmp 4591}#)))))
-                       #{tmp 4585}#)
-                     (let ((#{tmp 4597}#
+                                 #{tmp 4595}#)))))
+                       #{tmp 4589}#)
+                     (let ((#{tmp 4601}#
                              ($sc-dispatch
-                               #{tmp 4581}#
+                               #{tmp 4585}#
                                '(#(atom "list*") . #(each+ any (any) ())))))
-                       (if #{tmp 4597}#
+                       (if #{tmp 4601}#
                          (@apply
-                           (lambda (#{x 4600}# #{y 4601}#)
+                           (lambda (#{x 4604}# #{y 4605}#)
                              (letrec*
-                               ((#{f 4604}#
-                                  (lambda (#{x* 4605}#)
-                                    (if (null? #{x* 4605}#)
-                                      (#{emit 4402}# #{y 4601}#)
-                                      (let ((#{tmp 4611}#
-                                              (list (#{emit 4402}#
-                                                      (car #{x* 4605}#))
-                                                    (#{f 4604}#
-                                                      (cdr #{x* 4605}#)))))
-                                        (let ((#{tmp 4612}#
+                               ((#{f 4608}#
+                                  (lambda (#{x* 4609}#)
+                                    (if (null? #{x* 4609}#)
+                                      (#{emit 4406}# #{y 4605}#)
+                                      (let ((#{tmp 4615}#
+                                              (list (#{emit 4406}#
+                                                      (car #{x* 4609}#))
+                                                    (#{f 4608}#
+                                                      (cdr #{x* 4609}#)))))
+                                        (let ((#{tmp 4616}#
                                                 ($sc-dispatch
-                                                  #{tmp 4611}#
+                                                  #{tmp 4615}#
                                                   '(any any))))
-                                          (if #{tmp 4612}#
+                                          (if #{tmp 4616}#
                                             (@apply
-                                              (lambda (#{ g4608 4615}#
-                                                       #{ g4607 4616}#)
+                                              (lambda (#{ g4612 4619}#
+                                                       #{ g4611 4620}#)
                                                 (list '#(syntax-object
                                                          cons
                                                          ((top)
                                                           #(ribcage () () ())
                                                           #(ribcage
-                                                            #(#{ g4608}#
-                                                              #{ g4607}#)
-                                                            #((m4609 top)
-                                                              (m4609 top))
-                                                            #("i4613" "i4614"))
+                                                            #(#{ g4612}#
+                                                              #{ g4611}#)
+                                                            #((m4613 top)
+                                                              (m4613 top))
+                                                            #("i4617" "i4618"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(f x*)
                                                             #((top) (top))
-                                                            #("i4602" "i4603"))
+                                                            #("i4606" "i4607"))
                                                           #(ribcage
                                                             #(x y)
                                                             #((top) (top))
-                                                            #("i4598" "i4599"))
+                                                            #("i4602" "i4603"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(x)
                                                             #((top))
-                                                            #("i4580"))
+                                                            #("i4584"))
                                                           #(ribcage
                                                             (emit quasivector
                                                                   quasilist*
@@ -17138,56 +16852,56 @@
                                                              (top)
                                                              (top)
                                                              (top))
-                                                            ("i4401"
+                                                            ("i4405"
+                                                             "i4403"
+                                                             "i4401"
                                                              "i4399"
                                                              "i4397"
                                                              "i4395"
-                                                             "i4393"
-                                                             "i4391"
-                                                             "i4389")))
+                                                             "i4393")))
                                                          (hygiene guile))
-                                                      #{ g4608 4615}#
-                                                      #{ g4607 4616}#))
-                                              #{tmp 4612}#)
+                                                      #{ g4612 4619}#
+                                                      #{ g4611 4620}#))
+                                              #{tmp 4616}#)
                                             (syntax-violation
                                               #f
                                               "source expression failed to 
match any pattern"
-                                              #{tmp 4611}#))))))))
-                               (begin (#{f 4604}# #{x 4600}#))))
-                           #{tmp 4597}#)
-                         (let ((#{tmp 4617}#
+                                              #{tmp 4615}#))))))))
+                               (#{f 4608}# #{x 4604}#)))
+                           #{tmp 4601}#)
+                         (let ((#{tmp 4621}#
                                  ($sc-dispatch
-                                   #{tmp 4581}#
+                                   #{tmp 4585}#
                                    '(#(atom "append") . each-any))))
-                           (if #{tmp 4617}#
+                           (if #{tmp 4621}#
                              (@apply
-                               (lambda (#{x 4619}#)
-                                 (let ((#{tmp 4623}#
-                                         (map #{emit 4402}# #{x 4619}#)))
-                                   (let ((#{tmp 4624}#
+                               (lambda (#{x 4623}#)
+                                 (let ((#{tmp 4627}#
+                                         (map #{emit 4406}# #{x 4623}#)))
+                                   (let ((#{tmp 4628}#
                                            ($sc-dispatch
-                                             #{tmp 4623}#
+                                             #{tmp 4627}#
                                              'each-any)))
-                                     (if #{tmp 4624}#
+                                     (if #{tmp 4628}#
                                        (@apply
-                                         (lambda (#{ g4620 4626}#)
+                                         (lambda (#{ g4624 4630}#)
                                            (cons '#(syntax-object
                                                     append
                                                     ((top)
                                                      #(ribcage () () ())
                                                      #(ribcage
-                                                       #(#{ g4620}#)
-                                                       #((m4621 top))
-                                                       #("i4625"))
+                                                       #(#{ g4624}#)
+                                                       #((m4625 top))
+                                                       #("i4629"))
                                                      #(ribcage
                                                        #(x)
                                                        #((top))
-                                                       #("i4618"))
+                                                       #("i4622"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(x)
                                                        #((top))
-                                                       #("i4580"))
+                                                       #("i4584"))
                                                      #(ribcage
                                                        (emit quasivector
                                                              quasilist*
@@ -17202,54 +16916,54 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                       ("i4401"
+                                                       ("i4405"
+                                                        "i4403"
+                                                        "i4401"
                                                         "i4399"
                                                         "i4397"
                                                         "i4395"
-                                                        "i4393"
-                                                        "i4391"
-                                                        "i4389")))
+                                                        "i4393")))
                                                     (hygiene guile))
-                                                 #{ g4620 4626}#))
-                                         #{tmp 4624}#)
+                                                 #{ g4624 4630}#))
+                                         #{tmp 4628}#)
                                        (syntax-violation
                                          #f
                                          "source expression failed to match 
any pattern"
-                                         #{tmp 4623}#)))))
-                               #{tmp 4617}#)
-                             (let ((#{tmp 4629}#
+                                         #{tmp 4627}#)))))
+                               #{tmp 4621}#)
+                             (let ((#{tmp 4633}#
                                      ($sc-dispatch
-                                       #{tmp 4581}#
+                                       #{tmp 4585}#
                                        '(#(atom "vector") . each-any))))
-                               (if #{tmp 4629}#
+                               (if #{tmp 4633}#
                                  (@apply
-                                   (lambda (#{x 4631}#)
-                                     (let ((#{tmp 4635}#
-                                             (map #{emit 4402}# #{x 4631}#)))
-                                       (let ((#{tmp 4636}#
+                                   (lambda (#{x 4635}#)
+                                     (let ((#{tmp 4639}#
+                                             (map #{emit 4406}# #{x 4635}#)))
+                                       (let ((#{tmp 4640}#
                                                ($sc-dispatch
-                                                 #{tmp 4635}#
+                                                 #{tmp 4639}#
                                                  'each-any)))
-                                         (if #{tmp 4636}#
+                                         (if #{tmp 4640}#
                                            (@apply
-                                             (lambda (#{ g4632 4638}#)
+                                             (lambda (#{ g4636 4642}#)
                                                (cons '#(syntax-object
                                                         vector
                                                         ((top)
                                                          #(ribcage () () ())
                                                          #(ribcage
-                                                           #(#{ g4632}#)
-                                                           #((m4633 top))
-                                                           #("i4637"))
+                                                           #(#{ g4636}#)
+                                                           #((m4637 top))
+                                                           #("i4641"))
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i4630"))
+                                                           #("i4634"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i4580"))
+                                                           #("i4584"))
                                                          #(ribcage
                                                            (emit quasivector
                                                                  quasilist*
@@ -17264,49 +16978,49 @@
                                                             (top)
                                                             (top)
                                                             (top))
-                                                           ("i4401"
+                                                           ("i4405"
+                                                            "i4403"
+                                                            "i4401"
                                                             "i4399"
                                                             "i4397"
                                                             "i4395"
-                                                            "i4393"
-                                                            "i4391"
-                                                            "i4389")))
+                                                            "i4393")))
                                                         (hygiene guile))
-                                                     #{ g4632 4638}#))
-                                             #{tmp 4636}#)
+                                                     #{ g4636 4642}#))
+                                             #{tmp 4640}#)
                                            (syntax-violation
                                              #f
                                              "source expression failed to 
match any pattern"
-                                             #{tmp 4635}#)))))
-                                   #{tmp 4629}#)
-                                 (let ((#{tmp 4641}#
+                                             #{tmp 4639}#)))))
+                                   #{tmp 4633}#)
+                                 (let ((#{tmp 4645}#
                                          ($sc-dispatch
-                                           #{tmp 4581}#
+                                           #{tmp 4585}#
                                            '(#(atom "list->vector") any))))
-                                   (if #{tmp 4641}#
+                                   (if #{tmp 4645}#
                                      (@apply
-                                       (lambda (#{x 4643}#)
-                                         (let ((#{tmp 4647}#
-                                                 (#{emit 4402}# #{x 4643}#)))
-                                           (let ((#{ g4644 4649}#
-                                                   #{tmp 4647}#))
+                                       (lambda (#{x 4647}#)
+                                         (let ((#{tmp 4651}#
+                                                 (#{emit 4406}# #{x 4647}#)))
+                                           (let ((#{ g4648 4653}#
+                                                   #{tmp 4651}#))
                                              (list '#(syntax-object
                                                       list->vector
                                                       ((top)
                                                        #(ribcage () () ())
                                                        #(ribcage
-                                                         #(#{ g4644}#)
-                                                         #((m4645 top))
-                                                         #("i4648"))
+                                                         #(#{ g4648}#)
+                                                         #((m4649 top))
+                                                         #("i4652"))
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i4642"))
+                                                         #("i4646"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i4580"))
+                                                         #("i4584"))
                                                        #(ribcage
                                                          (emit quasivector
                                                                quasilist*
@@ -17321,213 +17035,197 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                         ("i4401"
+                                                         ("i4405"
+                                                          "i4403"
+                                                          "i4401"
                                                           "i4399"
                                                           "i4397"
                                                           "i4395"
-                                                          "i4393"
-                                                          "i4391"
-                                                          "i4389")))
+                                                          "i4393")))
                                                       (hygiene guile))
-                                                   #{ g4644 4649}#))))
-                                       #{tmp 4641}#)
-                                     (let ((#{tmp 4650}#
+                                                   #{ g4648 4653}#))))
+                                       #{tmp 4645}#)
+                                     (let ((#{tmp 4654}#
                                              ($sc-dispatch
-                                               #{tmp 4581}#
+                                               #{tmp 4585}#
                                                '(#(atom "value") any))))
-                                       (if #{tmp 4650}#
+                                       (if #{tmp 4654}#
                                          (@apply
-                                           (lambda (#{x 4652}#) #{x 4652}#)
-                                           #{tmp 4650}#)
+                                           (lambda (#{x 4656}#) #{x 4656}#)
+                                           #{tmp 4654}#)
                                          (syntax-violation
                                            #f
                                            "source expression failed to match 
any pattern"
-                                           #{tmp 4581}#)))))))))))))))))))
-      (begin
-        (lambda (#{x 4653}#)
-          (let ((#{tmp 4655}# #{x 4653}#))
-            (let ((#{tmp 4656}#
-                    ($sc-dispatch #{tmp 4655}# '(_ any))))
-              (if #{tmp 4656}#
-                (@apply
-                  (lambda (#{e 4658}#)
-                    (#{emit 4402}# (#{quasi 4390}# #{e 4658}# 0)))
-                  #{tmp 4656}#)
-                (syntax-violation
-                  #f
-                  "source expression failed to match any pattern"
-                  #{tmp 4655}#)))))))))
+                                           #{tmp 4585}#)))))))))))))))))))
+      (lambda (#{x 4657}#)
+        (let ((#{tmp 4659}# #{x 4657}#))
+          (let ((#{tmp 4660}#
+                  ($sc-dispatch #{tmp 4659}# '(_ any))))
+            (if #{tmp 4660}#
+              (@apply
+                (lambda (#{e 4662}#)
+                  (#{emit 4406}# (#{quasi 4394}# #{e 4662}# 0)))
+                #{tmp 4660}#)
+              (syntax-violation
+                #f
+                "source expression failed to match any pattern"
+                #{tmp 4659}#))))))))
 
 (define include
   (make-syntax-transformer
     'include
     'macro
-    (lambda (#{x 4659}#)
+    (lambda (#{x 4663}#)
       (letrec*
-        ((#{read-file 4662}#
-           (lambda (#{fn 4663}# #{k 4664}#)
-             (begin
-               (let ((#{p 4668}# (open-input-file #{fn 4663}#)))
-                 (letrec*
-                   ((#{f 4672}#
-                      (lambda (#{x 4673}# #{result 4674}#)
-                        (if (eof-object? #{x 4673}#)
-                          (begin
-                            (close-input-port #{p 4668}#)
-                            (reverse #{result 4674}#))
-                          (#{f 4672}#
-                            (read #{p 4668}#)
-                            (cons (datum->syntax #{k 4664}# #{x 4673}#)
-                                  #{result 4674}#))))))
-                   (begin (#{f 4672}# (read #{p 4668}#) '()))))))))
-        (begin
-          (let ((#{tmp 4675}# #{x 4659}#))
-            (let ((#{tmp 4676}#
-                    ($sc-dispatch #{tmp 4675}# '(any any))))
-              (if #{tmp 4676}#
-                (@apply
-                  (lambda (#{k 4679}# #{filename 4680}#)
-                    (begin
-                      (let ((#{fn 4682}# (syntax->datum #{filename 4680}#)))
-                        (let ((#{tmp 4684}#
-                                (#{read-file 4662}#
-                                  #{fn 4682}#
-                                  #{filename 4680}#)))
-                          (let ((#{tmp 4685}#
-                                  ($sc-dispatch #{tmp 4684}# 'each-any)))
-                            (if #{tmp 4685}#
-                              (@apply
-                                (lambda (#{exp 4687}#)
-                                  (cons '#(syntax-object
-                                           begin
-                                           ((top)
-                                            #(ribcage () () ())
-                                            #(ribcage
-                                              #(exp)
-                                              #((top))
-                                              #("i4686"))
-                                            #(ribcage () () ())
-                                            #(ribcage () () ())
-                                            #(ribcage
-                                              #(fn)
-                                              #((top))
-                                              #("i4681"))
-                                            #(ribcage
-                                              #(k filename)
-                                              #((top) (top))
-                                              #("i4677" "i4678"))
-                                            #(ribcage
-                                              (read-file)
-                                              ((top))
-                                              ("i4661"))
-                                            #(ribcage
-                                              #(x)
-                                              #((top))
-                                              #("i4660")))
-                                           (hygiene guile))
-                                        #{exp 4687}#))
-                                #{tmp 4685}#)
-                              (syntax-violation
-                                #f
-                                "source expression failed to match any pattern"
-                                #{tmp 4684}#)))))))
-                  #{tmp 4676}#)
-                (syntax-violation
-                  #f
-                  "source expression failed to match any pattern"
-                  #{tmp 4675}#)))))))))
+        ((#{read-file 4666}#
+           (lambda (#{fn 4667}# #{k 4668}#)
+             (let ((#{p 4672}# (open-input-file #{fn 4667}#)))
+               (letrec*
+                 ((#{f 4676}#
+                    (lambda (#{x 4677}# #{result 4678}#)
+                      (if (eof-object? #{x 4677}#)
+                        (begin
+                          (close-input-port #{p 4672}#)
+                          (reverse #{result 4678}#))
+                        (#{f 4676}#
+                          (read #{p 4672}#)
+                          (cons (datum->syntax #{k 4668}# #{x 4677}#)
+                                #{result 4678}#))))))
+                 (#{f 4676}# (read #{p 4672}#) '()))))))
+        (let ((#{tmp 4679}# #{x 4663}#))
+          (let ((#{tmp 4680}#
+                  ($sc-dispatch #{tmp 4679}# '(any any))))
+            (if #{tmp 4680}#
+              (@apply
+                (lambda (#{k 4683}# #{filename 4684}#)
+                  (let ((#{fn 4686}# (syntax->datum #{filename 4684}#)))
+                    (let ((#{tmp 4688}#
+                            (#{read-file 4666}#
+                              #{fn 4686}#
+                              #{filename 4684}#)))
+                      (let ((#{tmp 4689}#
+                              ($sc-dispatch #{tmp 4688}# 'each-any)))
+                        (if #{tmp 4689}#
+                          (@apply
+                            (lambda (#{exp 4691}#)
+                              (cons '#(syntax-object
+                                       begin
+                                       ((top)
+                                        #(ribcage () () ())
+                                        #(ribcage #(exp) #((top)) #("i4690"))
+                                        #(ribcage () () ())
+                                        #(ribcage () () ())
+                                        #(ribcage #(fn) #((top)) #("i4685"))
+                                        #(ribcage
+                                          #(k filename)
+                                          #((top) (top))
+                                          #("i4681" "i4682"))
+                                        #(ribcage
+                                          (read-file)
+                                          ((top))
+                                          ("i4665"))
+                                        #(ribcage #(x) #((top)) #("i4664")))
+                                       (hygiene guile))
+                                    #{exp 4691}#))
+                            #{tmp 4689}#)
+                          (syntax-violation
+                            #f
+                            "source expression failed to match any pattern"
+                            #{tmp 4688}#))))))
+                #{tmp 4680}#)
+              (syntax-violation
+                #f
+                "source expression failed to match any pattern"
+                #{tmp 4679}#))))))))
 
 (define include-from-path
   (make-syntax-transformer
     'include-from-path
     'macro
-    (lambda (#{x 4689}#)
-      (let ((#{tmp 4691}# #{x 4689}#))
-        (let ((#{tmp 4692}#
-                ($sc-dispatch #{tmp 4691}# '(any any))))
-          (if #{tmp 4692}#
+    (lambda (#{x 4693}#)
+      (let ((#{tmp 4695}# #{x 4693}#))
+        (let ((#{tmp 4696}#
+                ($sc-dispatch #{tmp 4695}# '(any any))))
+          (if #{tmp 4696}#
             (@apply
-              (lambda (#{k 4695}# #{filename 4696}#)
-                (begin
-                  (let ((#{fn 4698}# (syntax->datum #{filename 4696}#)))
-                    (let ((#{tmp 4700}#
-                            (datum->syntax
-                              #{filename 4696}#
-                              (begin
-                                (let ((#{t 4705}#
-                                        (%search-load-path #{fn 4698}#)))
-                                  (if #{t 4705}#
-                                    #{t 4705}#
-                                    (syntax-violation
-                                      'include-from-path
-                                      "file not found in path"
-                                      #{x 4689}#
-                                      #{filename 4696}#)))))))
-                      (let ((#{fn 4702}# #{tmp 4700}#))
-                        (list '#(syntax-object
-                                 include
-                                 ((top)
-                                  #(ribcage () () ())
-                                  #(ribcage #(fn) #((top)) #("i4701"))
-                                  #(ribcage () () ())
-                                  #(ribcage () () ())
-                                  #(ribcage #(fn) #((top)) #("i4697"))
-                                  #(ribcage
-                                    #(k filename)
-                                    #((top) (top))
-                                    #("i4693" "i4694"))
-                                  #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i4690")))
-                                 (hygiene guile))
-                              #{fn 4702}#))))))
-              #{tmp 4692}#)
+              (lambda (#{k 4699}# #{filename 4700}#)
+                (let ((#{fn 4702}# (syntax->datum #{filename 4700}#)))
+                  (let ((#{tmp 4704}#
+                          (datum->syntax
+                            #{filename 4700}#
+                            (let ((#{t 4709}# (%search-load-path #{fn 4702}#)))
+                              (if #{t 4709}#
+                                #{t 4709}#
+                                (syntax-violation
+                                  'include-from-path
+                                  "file not found in path"
+                                  #{x 4693}#
+                                  #{filename 4700}#))))))
+                    (let ((#{fn 4706}# #{tmp 4704}#))
+                      (list '#(syntax-object
+                               include
+                               ((top)
+                                #(ribcage () () ())
+                                #(ribcage #(fn) #((top)) #("i4705"))
+                                #(ribcage () () ())
+                                #(ribcage () () ())
+                                #(ribcage #(fn) #((top)) #("i4701"))
+                                #(ribcage
+                                  #(k filename)
+                                  #((top) (top))
+                                  #("i4697" "i4698"))
+                                #(ribcage () () ())
+                                #(ribcage #(x) #((top)) #("i4694")))
+                               (hygiene guile))
+                            #{fn 4706}#)))))
+              #{tmp 4696}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{tmp 4691}#)))))))
+              #{tmp 4695}#)))))))
 
 (define unquote
   (make-syntax-transformer
     'unquote
     'macro
-    (lambda (#{x 4707}#)
+    (lambda (#{x 4711}#)
       (syntax-violation
         'unquote
         "expression not valid outside of quasiquote"
-        #{x 4707}#))))
+        #{x 4711}#))))
 
 (define unquote-splicing
   (make-syntax-transformer
     'unquote-splicing
     'macro
-    (lambda (#{x 4709}#)
+    (lambda (#{x 4713}#)
       (syntax-violation
         'unquote-splicing
         "expression not valid outside of quasiquote"
-        #{x 4709}#))))
+        #{x 4713}#))))
 
 (define case
   (make-syntax-transformer
     'case
     'macro
-    (lambda (#{x 4711}#)
-      (let ((#{tmp 4713}# #{x 4711}#))
-        (let ((#{tmp 4714}#
+    (lambda (#{x 4715}#)
+      (let ((#{tmp 4717}# #{x 4715}#))
+        (let ((#{tmp 4718}#
                 ($sc-dispatch
-                  #{tmp 4713}#
+                  #{tmp 4717}#
                   '(_ any any . each-any))))
-          (if #{tmp 4714}#
+          (if #{tmp 4718}#
             (@apply
-              (lambda (#{e 4718}# #{m1 4719}# #{m2 4720}#)
-                (let ((#{tmp 4722}#
+              (lambda (#{e 4722}# #{m1 4723}# #{m2 4724}#)
+                (let ((#{tmp 4726}#
                         (letrec*
-                          ((#{f 4728}#
-                             (lambda (#{clause 4729}# #{clauses 4730}#)
-                               (if (null? #{clauses 4730}#)
-                                 (let ((#{tmp 4732}# #{clause 4729}#))
-                                   (let ((#{tmp 4733}#
+                          ((#{f 4732}#
+                             (lambda (#{clause 4733}# #{clauses 4734}#)
+                               (if (null? #{clauses 4734}#)
+                                 (let ((#{tmp 4736}# #{clause 4733}#))
+                                   (let ((#{tmp 4737}#
                                            ($sc-dispatch
-                                             #{tmp 4732}#
+                                             #{tmp 4736}#
                                              '(#(free-id
                                                  #(syntax-object
                                                    else
@@ -17536,92 +17234,92 @@
                                                     #(ribcage
                                                       #(f clause clauses)
                                                       #((top) (top) (top))
-                                                      #("i4725"
-                                                        "i4726"
-                                                        "i4727"))
+                                                      #("i4729"
+                                                        "i4730"
+                                                        "i4731"))
                                                     #(ribcage
                                                       #(e m1 m2)
                                                       #((top) (top) (top))
-                                                      #("i4715"
-                                                        "i4716"
-                                                        "i4717"))
+                                                      #("i4719"
+                                                        "i4720"
+                                                        "i4721"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i4712")))
+                                                      #("i4716")))
                                                    (hygiene guile)))
                                                any
                                                .
                                                each-any))))
-                                     (if #{tmp 4733}#
+                                     (if #{tmp 4737}#
                                        (@apply
-                                         (lambda (#{e1 4736}# #{e2 4737}#)
+                                         (lambda (#{e1 4740}# #{e2 4741}#)
                                            (cons '#(syntax-object
                                                     begin
                                                     ((top)
                                                      #(ribcage
                                                        #(e1 e2)
                                                        #((top) (top))
-                                                       #("i4734" "i4735"))
+                                                       #("i4738" "i4739"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(f clause clauses)
                                                        #((top) (top) (top))
-                                                       #("i4725"
-                                                         "i4726"
-                                                         "i4727"))
+                                                       #("i4729"
+                                                         "i4730"
+                                                         "i4731"))
                                                      #(ribcage
                                                        #(e m1 m2)
                                                        #((top) (top) (top))
-                                                       #("i4715"
-                                                         "i4716"
-                                                         "i4717"))
+                                                       #("i4719"
+                                                         "i4720"
+                                                         "i4721"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(x)
                                                        #((top))
-                                                       #("i4712")))
+                                                       #("i4716")))
                                                     (hygiene guile))
-                                                 (cons #{e1 4736}#
-                                                       #{e2 4737}#)))
-                                         #{tmp 4733}#)
-                                       (let ((#{tmp 4739}#
+                                                 (cons #{e1 4740}#
+                                                       #{e2 4741}#)))
+                                         #{tmp 4737}#)
+                                       (let ((#{tmp 4743}#
                                                ($sc-dispatch
-                                                 #{tmp 4732}#
+                                                 #{tmp 4736}#
                                                  '(each-any any . each-any))))
-                                         (if #{tmp 4739}#
+                                         (if #{tmp 4743}#
                                            (@apply
-                                             (lambda (#{k 4743}#
-                                                      #{e1 4744}#
-                                                      #{e2 4745}#)
+                                             (lambda (#{k 4747}#
+                                                      #{e1 4748}#
+                                                      #{e2 4749}#)
                                                (list '#(syntax-object
                                                         if
                                                         ((top)
                                                          #(ribcage
                                                            #(k e1 e2)
                                                            #((top) (top) (top))
-                                                           #("i4740"
-                                                             "i4741"
-                                                             "i4742"))
+                                                           #("i4744"
+                                                             "i4745"
+                                                             "i4746"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(f clause clauses)
                                                            #((top) (top) (top))
-                                                           #("i4725"
-                                                             "i4726"
-                                                             "i4727"))
+                                                           #("i4729"
+                                                             "i4730"
+                                                             "i4731"))
                                                          #(ribcage
                                                            #(e m1 m2)
                                                            #((top) (top) (top))
-                                                           #("i4715"
-                                                             "i4716"
-                                                             "i4717"))
+                                                           #("i4719"
+                                                             "i4720"
+                                                             "i4721"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i4712")))
+                                                           #("i4716")))
                                                         (hygiene guile))
                                                      (list '#(syntax-object
                                                               memv
@@ -17631,9 +17329,9 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4740"
-                                                                   "i4741"
-                                                                   "i4742"))
+                                                                 #("i4744"
+                                                                   "i4745"
+                                                                   "i4746"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17645,17 +17343,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4725"
-                                                                   "i4726"
-                                                                   "i4727"))
+                                                                 #("i4729"
+                                                                   "i4730"
+                                                                   "i4731"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4715"
-                                                                   "i4716"
-                                                                   "i4717"))
+                                                                 #("i4719"
+                                                                   "i4720"
+                                                                   "i4721"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17663,7 +17361,7 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4712")))
+                                                                 #("i4716")))
                                                               (hygiene guile))
                                                            '#(syntax-object
                                                               t
@@ -17673,9 +17371,9 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4740"
-                                                                   "i4741"
-                                                                   "i4742"))
+                                                                 #("i4744"
+                                                                   "i4745"
+                                                                   "i4746"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17687,17 +17385,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4725"
-                                                                   "i4726"
-                                                                   "i4727"))
+                                                                 #("i4729"
+                                                                   "i4730"
+                                                                   "i4731"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4715"
-                                                                   "i4716"
-                                                                   "i4717"))
+                                                                 #("i4719"
+                                                                   "i4720"
+                                                                   "i4721"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17705,7 +17403,7 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4712")))
+                                                                 #("i4716")))
                                                               (hygiene guile))
                                                            (list 
'#(syntax-object
                                                                     quote
@@ -17717,9 +17415,9 @@
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       
#("i4740"
-                                                                         
"i4741"
-                                                                         
"i4742"))
+                                                                       
#("i4744"
+                                                                         
"i4745"
+                                                                         
"i4746"))
                                                                      #(ribcage
                                                                        ()
                                                                        ()
@@ -17731,9 +17429,9 @@
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       
#("i4725"
-                                                                         
"i4726"
-                                                                         
"i4727"))
+                                                                       
#("i4729"
+                                                                         
"i4730"
+                                                                         
"i4731"))
                                                                      #(ribcage
                                                                        #(e
                                                                          m1
@@ -17741,9 +17439,9 @@
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       
#("i4715"
-                                                                         
"i4716"
-                                                                         
"i4717"))
+                                                                       
#("i4719"
+                                                                         
"i4720"
+                                                                         
"i4721"))
                                                                      #(ribcage
                                                                        ()
                                                                        ()
@@ -17751,10 +17449,10 @@
                                                                      #(ribcage
                                                                        #(x)
                                                                        #((top))
-                                                                       
#("i4712")))
+                                                                       
#("i4716")))
                                                                     (hygiene
                                                                       guile))
-                                                                 #{k 4743}#))
+                                                                 #{k 4747}#))
                                                      (cons '#(syntax-object
                                                               begin
                                                               ((top)
@@ -17763,9 +17461,9 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4740"
-                                                                   "i4741"
-                                                                   "i4742"))
+                                                                 #("i4744"
+                                                                   "i4745"
+                                                                   "i4746"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17777,17 +17475,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4725"
-                                                                   "i4726"
-                                                                   "i4727"))
+                                                                 #("i4729"
+                                                                   "i4730"
+                                                                   "i4731"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4715"
-                                                                   "i4716"
-                                                                   "i4717"))
+                                                                 #("i4719"
+                                                                   "i4720"
+                                                                   "i4721"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17795,64 +17493,64 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4712")))
+                                                                 #("i4716")))
                                                               (hygiene guile))
-                                                           (cons #{e1 4744}#
-                                                                 #{e2 
4745}#))))
-                                             #{tmp 4739}#)
-                                           (let ((#{_ 4749}# #{tmp 4732}#))
+                                                           (cons #{e1 4748}#
+                                                                 #{e2 
4749}#))))
+                                             #{tmp 4743}#)
+                                           (let ((#{_ 4753}# #{tmp 4736}#))
                                              (syntax-violation
                                                'case
                                                "bad clause"
-                                               #{x 4711}#
-                                               #{clause 4729}#)))))))
-                                 (let ((#{tmp 4751}#
-                                         (#{f 4728}#
-                                           (car #{clauses 4730}#)
-                                           (cdr #{clauses 4730}#))))
-                                   (let ((#{rest 4753}# #{tmp 4751}#))
-                                     (let ((#{tmp 4754}# #{clause 4729}#))
-                                       (let ((#{tmp 4755}#
+                                               #{x 4715}#
+                                               #{clause 4733}#)))))))
+                                 (let ((#{tmp 4755}#
+                                         (#{f 4732}#
+                                           (car #{clauses 4734}#)
+                                           (cdr #{clauses 4734}#))))
+                                   (let ((#{rest 4757}# #{tmp 4755}#))
+                                     (let ((#{tmp 4758}# #{clause 4733}#))
+                                       (let ((#{tmp 4759}#
                                                ($sc-dispatch
-                                                 #{tmp 4754}#
+                                                 #{tmp 4758}#
                                                  '(each-any any . each-any))))
-                                         (if #{tmp 4755}#
+                                         (if #{tmp 4759}#
                                            (@apply
-                                             (lambda (#{k 4759}#
-                                                      #{e1 4760}#
-                                                      #{e2 4761}#)
+                                             (lambda (#{k 4763}#
+                                                      #{e1 4764}#
+                                                      #{e2 4765}#)
                                                (list '#(syntax-object
                                                         if
                                                         ((top)
                                                          #(ribcage
                                                            #(k e1 e2)
                                                            #((top) (top) (top))
-                                                           #("i4756"
-                                                             "i4757"
-                                                             "i4758"))
+                                                           #("i4760"
+                                                             "i4761"
+                                                             "i4762"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(rest)
                                                            #((top))
-                                                           #("i4752"))
+                                                           #("i4756"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(f clause clauses)
                                                            #((top) (top) (top))
-                                                           #("i4725"
-                                                             "i4726"
-                                                             "i4727"))
+                                                           #("i4729"
+                                                             "i4730"
+                                                             "i4731"))
                                                          #(ribcage
                                                            #(e m1 m2)
                                                            #((top) (top) (top))
-                                                           #("i4715"
-                                                             "i4716"
-                                                             "i4717"))
+                                                           #("i4719"
+                                                             "i4720"
+                                                             "i4721"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i4712")))
+                                                           #("i4716")))
                                                         (hygiene guile))
                                                      (list '#(syntax-object
                                                               memv
@@ -17862,9 +17560,9 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4756"
-                                                                   "i4757"
-                                                                   "i4758"))
+                                                                 #("i4760"
+                                                                   "i4761"
+                                                                   "i4762"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17872,7 +17570,7 @@
                                                                #(ribcage
                                                                  #(rest)
                                                                  #((top))
-                                                                 #("i4752"))
+                                                                 #("i4756"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17884,17 +17582,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4725"
-                                                                   "i4726"
-                                                                   "i4727"))
+                                                                 #("i4729"
+                                                                   "i4730"
+                                                                   "i4731"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4715"
-                                                                   "i4716"
-                                                                   "i4717"))
+                                                                 #("i4719"
+                                                                   "i4720"
+                                                                   "i4721"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17902,7 +17600,7 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4712")))
+                                                                 #("i4716")))
                                                               (hygiene guile))
                                                            '#(syntax-object
                                                               t
@@ -17912,9 +17610,9 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4756"
-                                                                   "i4757"
-                                                                   "i4758"))
+                                                                 #("i4760"
+                                                                   "i4761"
+                                                                   "i4762"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17922,7 +17620,7 @@
                                                                #(ribcage
                                                                  #(rest)
                                                                  #((top))
-                                                                 #("i4752"))
+                                                                 #("i4756"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17934,17 +17632,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4725"
-                                                                   "i4726"
-                                                                   "i4727"))
+                                                                 #("i4729"
+                                                                   "i4730"
+                                                                   "i4731"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4715"
-                                                                   "i4716"
-                                                                   "i4717"))
+                                                                 #("i4719"
+                                                                   "i4720"
+                                                                   "i4721"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17952,7 +17650,7 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4712")))
+                                                                 #("i4716")))
                                                               (hygiene guile))
                                                            (list 
'#(syntax-object
                                                                     quote
@@ -17964,9 +17662,9 @@
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       
#("i4756"
-                                                                         
"i4757"
-                                                                         
"i4758"))
+                                                                       
#("i4760"
+                                                                         
"i4761"
+                                                                         
"i4762"))
                                                                      #(ribcage
                                                                        ()
                                                                        ()
@@ -17974,7 +17672,7 @@
                                                                      #(ribcage
                                                                        #(rest)
                                                                        #((top))
-                                                                       
#("i4752"))
+                                                                       
#("i4756"))
                                                                      #(ribcage
                                                                        ()
                                                                        ()
@@ -17986,9 +17684,9 @@
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       
#("i4725"
-                                                                         
"i4726"
-                                                                         
"i4727"))
+                                                                       
#("i4729"
+                                                                         
"i4730"
+                                                                         
"i4731"))
                                                                      #(ribcage
                                                                        #(e
                                                                          m1
@@ -17996,9 +17694,9 @@
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       
#("i4715"
-                                                                         
"i4716"
-                                                                         
"i4717"))
+                                                                       
#("i4719"
+                                                                         
"i4720"
+                                                                         
"i4721"))
                                                                      #(ribcage
                                                                        ()
                                                                        ()
@@ -18006,10 +17704,10 @@
                                                                      #(ribcage
                                                                        #(x)
                                                                        #((top))
-                                                                       
#("i4712")))
+                                                                       
#("i4716")))
                                                                     (hygiene
                                                                       guile))
-                                                                 #{k 4759}#))
+                                                                 #{k 4763}#))
                                                      (cons '#(syntax-object
                                                               begin
                                                               ((top)
@@ -18018,9 +17716,9 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4756"
-                                                                   "i4757"
-                                                                   "i4758"))
+                                                                 #("i4760"
+                                                                   "i4761"
+                                                                   "i4762"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -18028,7 +17726,7 @@
                                                                #(ribcage
                                                                  #(rest)
                                                                  #((top))
-                                                                 #("i4752"))
+                                                                 #("i4756"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -18040,17 +17738,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4725"
-                                                                   "i4726"
-                                                                   "i4727"))
+                                                                 #("i4729"
+                                                                   "i4730"
+                                                                   "i4731"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4715"
-                                                                   "i4716"
-                                                                   "i4717"))
+                                                                 #("i4719"
+                                                                   "i4720"
+                                                                   "i4721"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -18058,31 +17756,31 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4712")))
+                                                                 #("i4716")))
                                                               (hygiene guile))
-                                                           (cons #{e1 4760}#
-                                                                 #{e2 4761}#))
-                                                     #{rest 4753}#))
-                                             #{tmp 4755}#)
-                                           (let ((#{_ 4765}# #{tmp 4754}#))
+                                                           (cons #{e1 4764}#
+                                                                 #{e2 4765}#))
+                                                     #{rest 4757}#))
+                                             #{tmp 4759}#)
+                                           (let ((#{_ 4769}# #{tmp 4758}#))
                                              (syntax-violation
                                                'case
                                                "bad clause"
-                                               #{x 4711}#
-                                               #{clause 4729}#)))))))))))
-                          (begin (#{f 4728}# #{m1 4719}# #{m2 4720}#)))))
-                  (let ((#{body 4724}# #{tmp 4722}#))
+                                               #{x 4715}#
+                                               #{clause 4733}#)))))))))))
+                          (#{f 4732}# #{m1 4723}# #{m2 4724}#))))
+                  (let ((#{body 4728}# #{tmp 4726}#))
                     (list '#(syntax-object
                              let
                              ((top)
                               #(ribcage () () ())
-                              #(ribcage #(body) #((top)) #("i4723"))
+                              #(ribcage #(body) #((top)) #("i4727"))
                               #(ribcage
                                 #(e m1 m2)
                                 #((top) (top) (top))
-                                #("i4715" "i4716" "i4717"))
+                                #("i4719" "i4720" "i4721"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4712")))
+                              #(ribcage #(x) #((top)) #("i4716")))
                              (hygiene guile))
                           (list (list '#(syntax-object
                                          t
@@ -18091,176 +17789,175 @@
                                           #(ribcage
                                             #(body)
                                             #((top))
-                                            #("i4723"))
+                                            #("i4727"))
                                           #(ribcage
                                             #(e m1 m2)
                                             #((top) (top) (top))
-                                            #("i4715" "i4716" "i4717"))
+                                            #("i4719" "i4720" "i4721"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4712")))
+                                          #(ribcage #(x) #((top)) #("i4716")))
                                          (hygiene guile))
-                                      #{e 4718}#))
-                          #{body 4724}#))))
-              #{tmp 4714}#)
+                                      #{e 4722}#))
+                          #{body 4728}#))))
+              #{tmp 4718}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{tmp 4713}#)))))))
+              #{tmp 4717}#)))))))
 
 (define make-variable-transformer
-  (lambda (#{proc 4766}#)
-    (if (procedure? #{proc 4766}#)
-      (begin
-        (letrec*
-          ((#{trans 4769}#
-             (lambda (#{x 4770}#) (#{proc 4766}# #{x 4770}#))))
-          (begin
-            (set-procedure-property!
-              #{trans 4769}#
-              'variable-transformer
-              #t)
-            #{trans 4769}#)))
+  (lambda (#{proc 4770}#)
+    (if (procedure? #{proc 4770}#)
+      (letrec*
+        ((#{trans 4773}#
+           (lambda (#{x 4774}#) (#{proc 4770}# #{x 4774}#))))
+        (begin
+          (set-procedure-property!
+            #{trans 4773}#
+            'variable-transformer
+            #t)
+          #{trans 4773}#))
       (error "variable transformer not a procedure"
-             #{proc 4766}#))))
+             #{proc 4770}#))))
 
 (define identifier-syntax
   (make-syntax-transformer
     'identifier-syntax
     'macro
-    (lambda (#{x 4772}#)
-      (let ((#{tmp 4774}# #{x 4772}#))
-        (let ((#{tmp 4775}#
-                ($sc-dispatch #{tmp 4774}# '(_ any))))
-          (if #{tmp 4775}#
+    (lambda (#{x 4776}#)
+      (let ((#{tmp 4778}# #{x 4776}#))
+        (let ((#{tmp 4779}#
+                ($sc-dispatch #{tmp 4778}# '(_ any))))
+          (if #{tmp 4779}#
             (@apply
-              (lambda (#{e 4777}#)
+              (lambda (#{e 4781}#)
                 (list '#(syntax-object
                          lambda
                          ((top)
-                          #(ribcage #(e) #((top)) #("i4776"))
+                          #(ribcage #(e) #((top)) #("i4780"))
                           #(ribcage () () ())
-                          #(ribcage #(x) #((top)) #("i4773")))
+                          #(ribcage #(x) #((top)) #("i4777")))
                          (hygiene guile))
                       '(#(syntax-object
                           x
                           ((top)
-                           #(ribcage #(e) #((top)) #("i4776"))
+                           #(ribcage #(e) #((top)) #("i4780"))
                            #(ribcage () () ())
-                           #(ribcage #(x) #((top)) #("i4773")))
+                           #(ribcage #(x) #((top)) #("i4777")))
                           (hygiene guile)))
                       '#((#(syntax-object
                             macro-type
                             ((top)
-                             #(ribcage #(e) #((top)) #("i4776"))
+                             #(ribcage #(e) #((top)) #("i4780"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i4773")))
+                             #(ribcage #(x) #((top)) #("i4777")))
                             (hygiene guile))
                           .
                           #(syntax-object
                             identifier-syntax
                             ((top)
-                             #(ribcage #(e) #((top)) #("i4776"))
+                             #(ribcage #(e) #((top)) #("i4780"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i4773")))
+                             #(ribcage #(x) #((top)) #("i4777")))
                             (hygiene guile))))
                       (list '#(syntax-object
                                syntax-case
                                ((top)
-                                #(ribcage #(e) #((top)) #("i4776"))
+                                #(ribcage #(e) #((top)) #("i4780"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i4773")))
+                                #(ribcage #(x) #((top)) #("i4777")))
                                (hygiene guile))
                             '#(syntax-object
                                x
                                ((top)
-                                #(ribcage #(e) #((top)) #("i4776"))
+                                #(ribcage #(e) #((top)) #("i4780"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i4773")))
+                                #(ribcage #(x) #((top)) #("i4777")))
                                (hygiene guile))
                             '()
                             (list '#(syntax-object
                                      id
                                      ((top)
-                                      #(ribcage #(e) #((top)) #("i4776"))
+                                      #(ribcage #(e) #((top)) #("i4780"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i4773")))
+                                      #(ribcage #(x) #((top)) #("i4777")))
                                      (hygiene guile))
                                   '(#(syntax-object
                                       identifier?
                                       ((top)
-                                       #(ribcage #(e) #((top)) #("i4776"))
+                                       #(ribcage #(e) #((top)) #("i4780"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4773")))
+                                       #(ribcage #(x) #((top)) #("i4777")))
                                       (hygiene guile))
                                     (#(syntax-object
                                        syntax
                                        ((top)
-                                        #(ribcage #(e) #((top)) #("i4776"))
+                                        #(ribcage #(e) #((top)) #("i4780"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i4773")))
+                                        #(ribcage #(x) #((top)) #("i4777")))
                                        (hygiene guile))
                                      #(syntax-object
                                        id
                                        ((top)
-                                        #(ribcage #(e) #((top)) #("i4776"))
+                                        #(ribcage #(e) #((top)) #("i4780"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i4773")))
+                                        #(ribcage #(x) #((top)) #("i4777")))
                                        (hygiene guile))))
                                   (list '#(syntax-object
                                            syntax
                                            ((top)
-                                            #(ribcage #(e) #((top)) #("i4776"))
+                                            #(ribcage #(e) #((top)) #("i4780"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(x)
                                               #((top))
-                                              #("i4773")))
+                                              #("i4777")))
                                            (hygiene guile))
-                                        #{e 4777}#))
+                                        #{e 4781}#))
                             (list '(#(syntax-object
                                       _
                                       ((top)
-                                       #(ribcage #(e) #((top)) #("i4776"))
+                                       #(ribcage #(e) #((top)) #("i4780"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4773")))
+                                       #(ribcage #(x) #((top)) #("i4777")))
                                       (hygiene guile))
                                     #(syntax-object
                                       x
                                       ((top)
-                                       #(ribcage #(e) #((top)) #("i4776"))
+                                       #(ribcage #(e) #((top)) #("i4780"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4773")))
+                                       #(ribcage #(x) #((top)) #("i4777")))
                                       (hygiene guile))
                                     #(syntax-object
                                       ...
                                       ((top)
-                                       #(ribcage #(e) #((top)) #("i4776"))
+                                       #(ribcage #(e) #((top)) #("i4780"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4773")))
+                                       #(ribcage #(x) #((top)) #("i4777")))
                                       (hygiene guile)))
                                   (list '#(syntax-object
                                            syntax
                                            ((top)
-                                            #(ribcage #(e) #((top)) #("i4776"))
+                                            #(ribcage #(e) #((top)) #("i4780"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(x)
                                               #((top))
-                                              #("i4773")))
+                                              #("i4777")))
                                            (hygiene guile))
-                                        (cons #{e 4777}#
+                                        (cons #{e 4781}#
                                               '(#(syntax-object
                                                   x
                                                   ((top)
                                                    #(ribcage
                                                      #(e)
                                                      #((top))
-                                                     #("i4776"))
+                                                     #("i4780"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i4773")))
+                                                     #("i4777")))
                                                   (hygiene guile))
                                                 #(syntax-object
                                                   ...
@@ -18268,55 +17965,55 @@
                                                    #(ribcage
                                                      #(e)
                                                      #((top))
-                                                     #("i4776"))
+                                                     #("i4780"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i4773")))
+                                                     #("i4777")))
                                                   (hygiene guile)))))))))
-              #{tmp 4775}#)
-            (let ((#{tmp 4778}#
+              #{tmp 4779}#)
+            (let ((#{tmp 4782}#
                     ($sc-dispatch
-                      #{tmp 4774}#
+                      #{tmp 4778}#
                       '(_ (any any)
                           ((#(free-id
                               #(syntax-object
                                 set!
                                 ((top)
                                  #(ribcage () () ())
-                                 #(ribcage #(x) #((top)) #("i4773")))
+                                 #(ribcage #(x) #((top)) #("i4777")))
                                 (hygiene guile)))
                             any
                             any)
                            any)))))
-              (if (if #{tmp 4778}#
+              (if (if #{tmp 4782}#
                     (@apply
-                      (lambda (#{id 4784}#
-                               #{exp1 4785}#
-                               #{var 4786}#
-                               #{val 4787}#
-                               #{exp2 4788}#)
-                        (if (identifier? #{id 4784}#)
-                          (identifier? #{var 4786}#)
+                      (lambda (#{id 4788}#
+                               #{exp1 4789}#
+                               #{var 4790}#
+                               #{val 4791}#
+                               #{exp2 4792}#)
+                        (if (identifier? #{id 4788}#)
+                          (identifier? #{var 4790}#)
                           #f))
-                      #{tmp 4778}#)
+                      #{tmp 4782}#)
                     #f)
                 (@apply
-                  (lambda (#{id 4796}#
-                           #{exp1 4797}#
-                           #{var 4798}#
-                           #{val 4799}#
-                           #{exp2 4800}#)
+                  (lambda (#{id 4800}#
+                           #{exp1 4801}#
+                           #{var 4802}#
+                           #{val 4803}#
+                           #{exp2 4804}#)
                     (list '#(syntax-object
                              make-variable-transformer
                              ((top)
                               #(ribcage
                                 #(id exp1 var val exp2)
                                 #((top) (top) (top) (top) (top))
-                                #("i4791" "i4792" "i4793" "i4794" "i4795"))
+                                #("i4795" "i4796" "i4797" "i4798" "i4799"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4773")))
+                              #(ribcage #(x) #((top)) #("i4777")))
                              (hygiene guile))
                           (list '#(syntax-object
                                    lambda
@@ -18324,13 +18021,13 @@
                                     #(ribcage
                                       #(id exp1 var val exp2)
                                       #((top) (top) (top) (top) (top))
-                                      #("i4791"
-                                        "i4792"
-                                        "i4793"
-                                        "i4794"
-                                        "i4795"))
+                                      #("i4795"
+                                        "i4796"
+                                        "i4797"
+                                        "i4798"
+                                        "i4799"))
                                     #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i4773")))
+                                    #(ribcage #(x) #((top)) #("i4777")))
                                    (hygiene guile))
                                 '(#(syntax-object
                                     x
@@ -18338,13 +18035,13 @@
                                      #(ribcage
                                        #(id exp1 var val exp2)
                                        #((top) (top) (top) (top) (top))
-                                       #("i4791"
-                                         "i4792"
-                                         "i4793"
-                                         "i4794"
-                                         "i4795"))
+                                       #("i4795"
+                                         "i4796"
+                                         "i4797"
+                                         "i4798"
+                                         "i4799"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i4773")))
+                                     #(ribcage #(x) #((top)) #("i4777")))
                                     (hygiene guile)))
                                 '#((#(syntax-object
                                       macro-type
@@ -18352,13 +18049,13 @@
                                        #(ribcage
                                          #(id exp1 var val exp2)
                                          #((top) (top) (top) (top) (top))
-                                         #("i4791"
-                                           "i4792"
-                                           "i4793"
-                                           "i4794"
-                                           "i4795"))
+                                         #("i4795"
+                                           "i4796"
+                                           "i4797"
+                                           "i4798"
+                                           "i4799"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4773")))
+                                       #(ribcage #(x) #((top)) #("i4777")))
                                       (hygiene guile))
                                     .
                                     #(syntax-object
@@ -18367,13 +18064,13 @@
                                        #(ribcage
                                          #(id exp1 var val exp2)
                                          #((top) (top) (top) (top) (top))
-                                         #("i4791"
-                                           "i4792"
-                                           "i4793"
-                                           "i4794"
-                                           "i4795"))
+                                         #("i4795"
+                                           "i4796"
+                                           "i4797"
+                                           "i4798"
+                                           "i4799"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4773")))
+                                       #(ribcage #(x) #((top)) #("i4777")))
                                       (hygiene guile))))
                                 (list '#(syntax-object
                                          syntax-case
@@ -18381,13 +18078,13 @@
                                           #(ribcage
                                             #(id exp1 var val exp2)
                                             #((top) (top) (top) (top) (top))
-                                            #("i4791"
-                                              "i4792"
-                                              "i4793"
-                                              "i4794"
-                                              "i4795"))
+                                            #("i4795"
+                                              "i4796"
+                                              "i4797"
+                                              "i4798"
+                                              "i4799"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4773")))
+                                          #(ribcage #(x) #((top)) #("i4777")))
                                          (hygiene guile))
                                       '#(syntax-object
                                          x
@@ -18395,13 +18092,13 @@
                                           #(ribcage
                                             #(id exp1 var val exp2)
                                             #((top) (top) (top) (top) (top))
-                                            #("i4791"
-                                              "i4792"
-                                              "i4793"
-                                              "i4794"
-                                              "i4795"))
+                                            #("i4795"
+                                              "i4796"
+                                              "i4797"
+                                              "i4798"
+                                              "i4799"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4773")))
+                                          #(ribcage #(x) #((top)) #("i4777")))
                                          (hygiene guile))
                                       '(#(syntax-object
                                           set!
@@ -18409,13 +18106,13 @@
                                            #(ribcage
                                              #(id exp1 var val exp2)
                                              #((top) (top) (top) (top) (top))
-                                             #("i4791"
-                                               "i4792"
-                                               "i4793"
-                                               "i4794"
-                                               "i4795"))
+                                             #("i4795"
+                                               "i4796"
+                                               "i4797"
+                                               "i4798"
+                                               "i4799"))
                                            #(ribcage () () ())
-                                           #(ribcage #(x) #((top)) #("i4773")))
+                                           #(ribcage #(x) #((top)) #("i4777")))
                                           (hygiene guile)))
                                       (list (list '#(syntax-object
                                                      set!
@@ -18427,19 +18124,19 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i4791"
-                                                          "i4792"
-                                                          "i4793"
-                                                          "i4794"
-                                                          "i4795"))
+                                                        #("i4795"
+                                                          "i4796"
+                                                          "i4797"
+                                                          "i4798"
+                                                          "i4799"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4773")))
+                                                        #("i4777")))
                                                      (hygiene guile))
-                                                  #{var 4798}#
-                                                  #{val 4799}#)
+                                                  #{var 4802}#
+                                                  #{val 4803}#)
                                             (list '#(syntax-object
                                                      syntax
                                                      ((top)
@@ -18450,19 +18147,19 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i4791"
-                                                          "i4792"
-                                                          "i4793"
-                                                          "i4794"
-                                                          "i4795"))
+                                                        #("i4795"
+                                                          "i4796"
+                                                          "i4797"
+                                                          "i4798"
+                                                          "i4799"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4773")))
+                                                        #("i4777")))
                                                      (hygiene guile))
-                                                  #{exp2 4800}#))
-                                      (list (cons #{id 4796}#
+                                                  #{exp2 4804}#))
+                                      (list (cons #{id 4800}#
                                                   '(#(syntax-object
                                                       x
                                                       ((top)
@@ -18477,16 +18174,16 @@
                                                            (top)
                                                            (top)
                                                            (top))
-                                                         #("i4791"
-                                                           "i4792"
-                                                           "i4793"
-                                                           "i4794"
-                                                           "i4795"))
+                                                         #("i4795"
+                                                           "i4796"
+                                                           "i4797"
+                                                           "i4798"
+                                                           "i4799"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i4773")))
+                                                         #("i4777")))
                                                       (hygiene guile))
                                                     #(syntax-object
                                                       ...
@@ -18502,16 +18199,16 @@
                                                            (top)
                                                            (top)
                                                            (top))
-                                                         #("i4791"
-                                                           "i4792"
-                                                           "i4793"
-                                                           "i4794"
-                                                           "i4795"))
+                                                         #("i4795"
+                                                           "i4796"
+                                                           "i4797"
+                                                           "i4798"
+                                                           "i4799"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i4773")))
+                                                         #("i4777")))
                                                       (hygiene guile))))
                                             (list '#(syntax-object
                                                      syntax
@@ -18523,18 +18220,18 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i4791"
-                                                          "i4792"
-                                                          "i4793"
-                                                          "i4794"
-                                                          "i4795"))
+                                                        #("i4795"
+                                                          "i4796"
+                                                          "i4797"
+                                                          "i4798"
+                                                          "i4799"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4773")))
+                                                        #("i4777")))
                                                      (hygiene guile))
-                                                  (cons #{exp1 4797}#
+                                                  (cons #{exp1 4801}#
                                                         '(#(syntax-object
                                                             x
                                                             ((top)
@@ -18549,11 +18246,11 @@
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                               #("i4791"
-                                                                 "i4792"
-                                                                 "i4793"
-                                                                 "i4794"
-                                                                 "i4795"))
+                                                               #("i4795"
+                                                                 "i4796"
+                                                                 "i4797"
+                                                                 "i4798"
+                                                                 "i4799"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -18561,7 +18258,7 @@
                                                              #(ribcage
                                                                #(x)
                                                                #((top))
-                                                               #("i4773")))
+                                                               #("i4777")))
                                                             (hygiene guile))
                                                           #(syntax-object
                                                             ...
@@ -18577,11 +18274,11 @@
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                               #("i4791"
-                                                                 "i4792"
-                                                                 "i4793"
-                                                                 "i4794"
-                                                                 "i4795"))
+                                                               #("i4795"
+                                                                 "i4796"
+                                                                 "i4797"
+                                                                 "i4798"
+                                                                 "i4799"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -18589,10 +18286,10 @@
                                                              #(ribcage
                                                                #(x)
                                                                #((top))
-                                                               #("i4773")))
+                                                               #("i4777")))
                                                             (hygiene
                                                               guile))))))
-                                      (list #{id 4796}#
+                                      (list #{id 4800}#
                                             (list '#(syntax-object
                                                      identifier?
                                                      ((top)
@@ -18603,16 +18300,16 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i4791"
-                                                          "i4792"
-                                                          "i4793"
-                                                          "i4794"
-                                                          "i4795"))
+                                                        #("i4795"
+                                                          "i4796"
+                                                          "i4797"
+                                                          "i4798"
+                                                          "i4799"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4773")))
+                                                        #("i4777")))
                                                      (hygiene guile))
                                                   (list '#(syntax-object
                                                            syntax
@@ -18628,18 +18325,18 @@
                                                                 (top)
                                                                 (top)
                                                                 (top))
-                                                              #("i4791"
-                                                                "i4792"
-                                                                "i4793"
-                                                                "i4794"
-                                                                "i4795"))
+                                                              #("i4795"
+                                                                "i4796"
+                                                                "i4797"
+                                                                "i4798"
+                                                                "i4799"))
                                                             #(ribcage () () ())
                                                             #(ribcage
                                                               #(x)
                                                               #((top))
-                                                              #("i4773")))
+                                                              #("i4777")))
                                                            (hygiene guile))
-                                                        #{id 4796}#))
+                                                        #{id 4800}#))
                                             (list '#(syntax-object
                                                      syntax
                                                      ((top)
@@ -18650,69 +18347,69 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i4791"
-                                                          "i4792"
-                                                          "i4793"
-                                                          "i4794"
-                                                          "i4795"))
+                                                        #("i4795"
+                                                          "i4796"
+                                                          "i4797"
+                                                          "i4798"
+                                                          "i4799"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4773")))
+                                                        #("i4777")))
                                                      (hygiene guile))
-                                                  #{exp1 4797}#))))))
-                  #{tmp 4778}#)
+                                                  #{exp1 4801}#))))))
+                  #{tmp 4782}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp 4774}#)))))))))
+                  #{tmp 4778}#)))))))))
 
 (define define*
   (make-syntax-transformer
     'define*
     'macro
-    (lambda (#{x 4801}#)
-      (let ((#{tmp 4803}# #{x 4801}#))
-        (let ((#{tmp 4804}#
+    (lambda (#{x 4805}#)
+      (let ((#{tmp 4807}# #{x 4805}#))
+        (let ((#{tmp 4808}#
                 ($sc-dispatch
-                  #{tmp 4803}#
+                  #{tmp 4807}#
                   '(_ (any . any) any . each-any))))
-          (if #{tmp 4804}#
+          (if #{tmp 4808}#
             (@apply
-              (lambda (#{id 4809}#
-                       #{args 4810}#
-                       #{b0 4811}#
-                       #{b1 4812}#)
+              (lambda (#{id 4813}#
+                       #{args 4814}#
+                       #{b0 4815}#
+                       #{b1 4816}#)
                 (list '#(syntax-object
                          define
                          ((top)
                           #(ribcage
                             #(id args b0 b1)
                             #((top) (top) (top) (top))
-                            #("i4805" "i4806" "i4807" "i4808"))
+                            #("i4809" "i4810" "i4811" "i4812"))
                           #(ribcage () () ())
-                          #(ribcage #(x) #((top)) #("i4802")))
+                          #(ribcage #(x) #((top)) #("i4806")))
                          (hygiene guile))
-                      #{id 4809}#
+                      #{id 4813}#
                       (cons '#(syntax-object
                                lambda*
                                ((top)
                                 #(ribcage
                                   #(id args b0 b1)
                                   #((top) (top) (top) (top))
-                                  #("i4805" "i4806" "i4807" "i4808"))
+                                  #("i4809" "i4810" "i4811" "i4812"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i4802")))
+                                #(ribcage #(x) #((top)) #("i4806")))
                                (hygiene guile))
-                            (cons #{args 4810}#
-                                  (cons #{b0 4811}# #{b1 4812}#)))))
-              #{tmp 4804}#)
-            (let ((#{tmp 4814}#
-                    ($sc-dispatch #{tmp 4803}# '(_ any any))))
-              (if (if #{tmp 4814}#
+                            (cons #{args 4814}#
+                                  (cons #{b0 4815}# #{b1 4816}#)))))
+              #{tmp 4808}#)
+            (let ((#{tmp 4818}#
+                    ($sc-dispatch #{tmp 4807}# '(_ any any))))
+              (if (if #{tmp 4818}#
                     (@apply
-                      (lambda (#{id 4817}# #{val 4818}#)
+                      (lambda (#{id 4821}# #{val 4822}#)
                         (identifier?
                           '#(syntax-object
                              x
@@ -18720,29 +18417,29 @@
                               #(ribcage
                                 #(id val)
                                 #((top) (top))
-                                #("i4815" "i4816"))
+                                #("i4819" "i4820"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4802")))
+                              #(ribcage #(x) #((top)) #("i4806")))
                              (hygiene guile))))
-                      #{tmp 4814}#)
+                      #{tmp 4818}#)
                     #f)
                 (@apply
-                  (lambda (#{id 4821}# #{val 4822}#)
+                  (lambda (#{id 4825}# #{val 4826}#)
                     (list '#(syntax-object
                              define
                              ((top)
                               #(ribcage
                                 #(id val)
                                 #((top) (top))
-                                #("i4819" "i4820"))
+                                #("i4823" "i4824"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4802")))
+                              #(ribcage #(x) #((top)) #("i4806")))
                              (hygiene guile))
-                          #{id 4821}#
-                          #{val 4822}#))
-                  #{tmp 4814}#)
+                          #{id 4825}#
+                          #{val 4826}#))
+                  #{tmp 4818}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp 4803}#)))))))))
+                  #{tmp 4807}#)))))))))
 
diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm
index ae9c273..4d67408 100644
--- a/module/ice-9/psyntax.scm
+++ b/module/ice-9/psyntax.scm
@@ -2425,7 +2425,8 @@
     (set! generate-temporaries
           (lambda (ls)
             (arg-check list? ls 'generate-temporaries)
-            (map (lambda (x) (wrap (gensym-hook) top-wrap #f)) ls)))
+            (let ((mod (cons 'hygiene (module-name (current-module)))))
+              (map (lambda (x) (wrap (gensym-hook) top-wrap mod)) ls))))
 
     (set! free-identifier=?
           (lambda (x y)
diff --git a/module/language/tree-il.scm b/module/language/tree-il.scm
index ec3c502..d919f9a 100644
--- a/module/language/tree-il.scm
+++ b/module/language/tree-il.scm
@@ -464,7 +464,8 @@
                        (lambda (x) (tree-il->scheme (seq-head x)))
                        seq-tail
                        tail
-                       tree-il->scheme)))
+                       (lambda (x)
+                         (list (tree-il->scheme x))))))
 
     ((<let> gensyms vals body)
      `(let ,(map list gensyms (map tree-il->scheme vals)) ,(tree-il->scheme 
body)))
diff --git a/module/language/tree-il/compile-glil.scm 
b/module/language/tree-il/compile-glil.scm
index 2cb0806..a22063b 100644
--- a/module/language/tree-il/compile-glil.scm
+++ b/module/language/tree-il/compile-glil.scm
@@ -207,10 +207,12 @@
          ;; write source info for proc
          (if src (emit-code #f (make-glil-source src)))
          ;; compile the body, yo
-         (flatten body allocation x self-label (car (hashq-ref allocation x))
-                  emit-code)))))))
+         (flatten-lambda-case body allocation x self-label
+                              (car (hashq-ref allocation x))
+                              emit-code)))))))
 
-(define (flatten x allocation self self-label fix-labels emit-code)
+(define (flatten-lambda-case lcase allocation self self-label fix-labels
+                             emit-code)
   (define (emit-label label)
     (emit-code #f (make-glil-label label)))
   (define (emit-branch src inst label)
@@ -218,7 +220,7 @@
 
   ;; RA: "return address"; #f unless we're in a non-tail fix with labels
   ;; MVRA: "multiple-values return address"; #f unless we're in a let-values
-  (let comp ((x x) (context 'tail) (RA #f) (MVRA #f))
+  (let comp ((x lcase) (context 'tail) (RA #f) (MVRA #f))
     (define (comp-tail tree) (comp tree context RA MVRA))
     (define (comp-push tree) (comp tree 'push #f #f))
     (define (comp-drop tree) (comp tree 'drop #f #f))
@@ -252,41 +254,26 @@
       
       ((<call> src proc args)
        (cond
-        ;; self-call in tail position
+        ;; call to the same lambda-case in tail position
         ((and (lexical-ref? proc)
               self-label (eq? (lexical-ref-gensym proc) self-label)
-              (eq? context 'tail))
-         (let lp ((lcase (lambda-body self)))
-           (cond
-            ((and (lambda-case? lcase)
-                  (not (lambda-case-kw lcase))
-                  (not (lambda-case-rest lcase))
-                  (= (length args)
-                     (+ (length (lambda-case-req lcase))
-                        (or (and=> (lambda-case-opt lcase) length) 0))))
-             ;; we have a case that matches the args; evaluate new
-             ;; values, rename variables and goto the case label
-             (for-each comp-push args)
-             (for-each (lambda (sym)
-                         (pmatch (hashq-ref (hashq-ref allocation sym) self)
-                           ((#t #f . ,index) ; unboxed
-                            (emit-code #f (make-glil-lexical #t #f 'set 
index)))
-                           ((#t #t . ,index) ; boxed
-                            ;; new box
-                            (emit-code #f (make-glil-lexical #t #t 'box 
index)))
-                           (,x (error "bad lambda-case arg allocation" x))))
-                       (reverse (lambda-case-gensyms lcase)))
-             (emit-branch src 'br (car (hashq-ref allocation lcase))))
-            ((lambda-case? lcase)
-             ;; no match, try next case
-             (lp (lambda-case-alternate lcase)))
-            (else
-             ;; no cases left -- use the normal tail call mechanism. we
-             ;; can't just shuffle the args down and jump back to the
-             ;; self label, because we don't have space.
-             (comp-push proc)
-             (for-each comp-push args)
-             (emit-code src (make-glil-call 'tail-call (length args)))))))
+              (eq? context 'tail)
+              (not (lambda-case-kw lcase))
+              (not (lambda-case-rest lcase))
+              (= (length args)
+                 (+ (length (lambda-case-req lcase))
+                    (or (and=> (lambda-case-opt lcase) length) 0))))
+         (for-each comp-push args)
+         (for-each (lambda (sym)
+                     (pmatch (hashq-ref (hashq-ref allocation sym) self)
+                       ((#t #f . ,index) ; unboxed
+                        (emit-code #f (make-glil-lexical #t #f 'set index)))
+                       ((#t #t . ,index) ; boxed
+                        ;; new box
+                        (emit-code #f (make-glil-lexical #t #t 'box index)))
+                       (,x (error "bad lambda-case arg allocation" x))))
+                   (reverse (lambda-case-gensyms lcase)))
+         (emit-branch src 'br (car (hashq-ref allocation lcase))))
         
         ;; lambda, the ultimate goto
         ((and (lexical-ref? proc)
@@ -378,20 +365,37 @@
               (else
                (comp-tail (make-primcall src 'apply (cons proc args))))))))
 
-         ((values . _) (guard (not (eq? context 'push)))
+         ((values . _)
           ;; tail: (lambda () (values '(1 2)))
           ;; drop: (lambda () (values '(1 2)) 3)
           ;; push: (lambda () (list (values '(10 12)) 1))
           ;; vals: (let-values (((a b ...) (values 1 2 ...))) ...)
           (case context
             ((drop) (for-each comp-drop args) (maybe-emit-return))
+            ((push)
+             (case (length args)
+               ((0)
+                ;; FIXME: This is surely an error.  We need to add a
+                ;; values-mismatch warning pass.
+                (comp-push (make-call src (make-primitive-ref #f 'values)
+                                      '())))
+               ((1)
+                (comp-push (car args)))
+               (else
+                ;; Taking advantage of unspecified order of evaluation of
+                ;; arguments.
+                (for-each comp-drop (cdr args))
+                (comp-push (car args)))))
             ((vals)
              (for-each comp-push args)
              (emit-code #f (make-glil-const (length args)))
              (emit-branch src 'br MVRA))
             ((tail)
              (for-each comp-push args)
-             (emit-code src (make-glil-call 'return/values (length args))))))
+             (emit-code src (let ((len (length args)))
+                              (if (= len 1)
+                                  (make-glil-call 'return 1)
+                                  (make-glil-call 'return/values len)))))))
         
          ((@call-with-values ,producer ,consumer)
           ;; CONSUMER
@@ -724,7 +728,8 @@
          (if alternate-label
              (begin
                (emit-label alternate-label)
-               (comp-tail alternate)))))
+               (flatten-lambda-case alternate allocation self self-label
+                                    fix-labels emit-code)))))
       
       ((<let> src names gensyms vals body)
        (for-each comp-push vals)
diff --git a/module/language/tree-il/primitives.scm 
b/module/language/tree-il/primitives.scm
index 40fc194..74c465f 100644
--- a/module/language/tree-il/primitives.scm
+++ b/module/language/tree-il/primitives.scm
@@ -249,7 +249,7 @@
 
 (define-primitive-expander +
   () 0
-  (x) x
+  (x) (values x)
   (x y) (if (and (const? y)
                  (let ((y (const-exp y)))
                    (and (number? y) (exact? y) (= y 1))))
@@ -267,7 +267,7 @@
   
 (define-primitive-expander *
   () 1
-  (x) x
+  (x) (values x)
   (x y z . rest) (* x (* y z . rest)))
   
 (define-primitive-expander -
@@ -313,7 +313,7 @@
 (define-primitive-expander cddddr (x) (cdr (cdr (cdr (cdr x)))))
 
 (define-primitive-expander cons*
-  (x) x
+  (x) (values x)
   (x y) (cons x y)
   (x y . rest) (cons x (cons* y . rest)))
 
@@ -332,8 +332,6 @@
 (define-primitive-expander call/cc (proc)
   (@call-with-current-continuation proc))
 
-(define-primitive-expander values (x) x)
-
 (define-primitive-expander make-struct (vtable tail-size . args)
   (if (and (const? tail-size)
            (let ((n (const-exp tail-size)))
diff --git a/module/system/base/language.scm b/module/system/base/language.scm
index 31e7708..10d2d74 100644
--- a/module/system/base/language.scm
+++ b/module/system/base/language.scm
@@ -1,6 +1,6 @@
 ;;; Multi-language support
 
-;; Copyright (C) 2001, 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 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
@@ -112,7 +112,6 @@
 ;;;
 
 (define *current-language* (make-fluid))
-(fluid-set! *current-language* 'scheme)
 
 (define (current-language)
-  (fluid-ref *current-language*))
+  (or (fluid-ref *current-language*) 'scheme))
diff --git a/test-suite/tests/compiler.test b/test-suite/tests/compiler.test
index 6b47086..ee688c0 100644
--- a/test-suite/tests/compiler.test
+++ b/test-suite/tests/compiler.test
@@ -1,5 +1,5 @@
 ;;;; compiler.test --- tests for the compiler      -*- scheme -*-
-;;;; Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+;;;; Copyright (C) 2008, 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
@@ -149,3 +149,18 @@
                                        ((y)   y)
                                        ((y z) (list y z)))))))
         (not (not (memv 0 (map source:addr s))))))))
+
+(with-test-prefix "case-lambda"
+  (pass-if "self recursion to different clause"
+    (equal? (with-output-to-string
+              (lambda ()
+                (let ()
+                  (define t
+                    (case-lambda
+                      ((x)
+                       (t x 'y))
+                      ((x y)
+                       (display (list x y))
+                       (list x y))))
+                  (display (t 'x)))))
+            "(x y)(x y)")))
diff --git a/test-suite/tests/tree-il.test b/test-suite/tests/tree-il.test
index a59835e..3dacb72 100644
--- a/test-suite/tests/tree-il.test
+++ b/test-suite/tests/tree-il.test
@@ -474,6 +474,26 @@
    (program () (std-prelude 0 0 #f) (label _)
             (const 2) (call null? 1) (call return 1))))
 
+(with-test-prefix "values"
+  (assert-tree-il->glil
+   (primcall values
+             (primcall values (const 1) (const 2)))
+   (program () (std-prelude 0 0 #f) (label _)
+            (const 1) (call return 1)))
+
+  (assert-tree-il->glil
+   (primcall values
+             (primcall values (const 1) (const 2))
+             (const 3))
+   (program () (std-prelude 0 0 #f) (label _)
+            (const 1) (const 3) (call return/values 2)))
+
+  (assert-tree-il->glil
+   (primcall +
+             (primcall values (const 1) (const 2)))
+   (program () (std-prelude 0 0 #f) (label _)
+            (const 1) (call return 1))))
+
 ;; FIXME: binding info for or-hacked locals might bork the disassembler,
 ;; and could be tightened in any case
 (with-test-prefix "the or hack"


hooks/post-receive
-- 
GNU Guile



reply via email to

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