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}#)
+